Go面试八股

  1. =赋值 :=定义
  2. *取值 指针替代值传入函数
  3. Goroutine是用户级轻量线程,是线程的最小单位,前面加go实现,携程以2k或4k的栈启动,当栈空间不够时会自动伸缩,因此可以轻而易举实现成千上万个携程同时启动
  4. +遍历字符串,开辟新空间存储两个字符串
  5. fmt.sprintf 使用了接口参数,必须要通过反射获取值,会有性能损耗
  6. Strings.Builder 使用writeString()进行拼接,内部使用指针+切片,同时String()返回拼接后的字符串,把\[\]byte转为string,避免拷贝变量
  7. byte.Buffer是一个缓存byte类型的缓冲器,底层是\[\]byte切片,通用可读写
  8. strings.join基于strings.Builder实现,输入\[\]string,分配固定内存,减少内存分配,更高效
相关推荐
夏幻灵2 小时前
JavaScript this 面试:五种绑定规则、优先级与常见面试陷阱
开发语言·javascript·面试
代码什么用4 小时前
Spring基础使用
java·后端·spring
Su米苏4 小时前
Spring AI 中MCP 与普通 @Tool的区别
java·人工智能·spring
码云数智-园园4 小时前
unique_ptr 还是 shared_ptr?C++ 智能指针选型与内存泄漏实战分析
java·开发语言
老板一杯拿铁4 小时前
Java 异常体系详解:从字节码原理到最佳实践
java
蜗牛互联网5 小时前
Java 17 HttpClient调用文件转写API的超时与失败回退
java·人工智能·后端
禾小西5 小时前
07丨Redis 哨兵机制:主库故障后,如何恢复服务?
java·开发语言·redis
我不是阵雨5 小时前
JDK 21虚拟线程Pinning陷阱:一文拔钉解困
java·开发语言
小卡车5556 小时前
java反射、自定义注解的应用(自定义分页)
java
徐小黑ACG6 小时前
Golang 基础05 结构体struct
开发语言·算法·golang