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,分配固定内存,减少内存分配,更高效
相关推荐
plainGeekDev1 小时前
ButterKnife → ViewBinding
android·java·kotlin
洛卡卡了17 小时前
我们在用 AI 写代码时,为什么建议要好好维护 AGENTS.md 呢?
面试·agent·claude
PBitW17 小时前
GPT训练我的第三天,明白了应该咋说满分回答!😕😕😕
前端·javascript·面试
像我这样帅的人丶你还17 小时前
Java 后端详解(四):分页与搜索
java·javascript·后端
她的男孩17 小时前
数据权限为什么不能只靠注解?Forge 的 Mapper 层 SQL 改写源码拆解
java·后端·架构
tntxia18 小时前
Mybatis的日志输入
java
亦暖筑序19 小时前
Java 8老系统Browser Agent实战:三层拦截把AI操作后台变成可审计流程
java·后端·设计模式
用户298698530141 天前
Java 实现 Word 文档加密与权限解除
java·后端
自由路飞1 天前
RAG 混合检索深挖:BM25 和向量分数为什么不能直接相加?
面试
Yeats_Liao1 天前
14:Servlet中的页面跳转-Java Web
java·后端·架构