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,分配固定内存,减少内存分配,更高效
相关推荐
明湖起风了6 分钟前
mqtt消费堆积
java·jvm·windows
Free Tester23 分钟前
如何判断 LeakCanary 报告的严重程度
java·jvm·算法
清心歌1 小时前
CopyOnWriteArrayList 实现原理
java·开发语言
Java成神之路-1 小时前
通俗易懂理解 Spring MVC 拦截器:概念、流程与简单实现(Spring系列16)
java·spring·mvc
zhanghongbin011 小时前
AI 采集器:Claude Code、OpenAI、LiteLLM 监控
java·前端·人工智能
计算机毕设vx_bysj68691 小时前
【免费领源码】77196基于java的手机银行app管理系统的设计与实现 计算机毕业设计项目推荐上万套实战教程JAVA,node.js,C++、python、大屏数据可视化
java·mysql·智能手机·课程设计
忘梓.1 小时前
墨色规则与血色节点:C++红黑树设计与实现探秘
java·开发语言·c++
hhh3u3u3u1 小时前
Visual C++ 6.0中文版安装包下载教程及win11安装教程
java·c语言·开发语言·c++·python·c#·vc-1
星河耀银海1 小时前
C++ 模板进阶:特化、萃取与可变参数模板
java·开发语言·c++
格鸰爱童话2 小时前
向AI学习项目技能(五)
java·学习