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,分配固定内存,减少内存分配,更高效
相关推荐
加油,小猿猿5 小时前
Java开发日志-双数据库事务问题
java·开发语言·数据库
yuluo_YX5 小时前
Reactive 编程 - Java Reactor
java·python·apache
山岚的运维笔记5 小时前
SQL Server笔记 -- 第20章:TRY/CATCH
java·数据库·笔记·sql·microsoft·sqlserver
千寻girling6 小时前
主管:”人家 Node 框架都用 Nest.js 了 , 你怎么还在用 Express ?“
前端·后端·面试
南极企鹅6 小时前
springBoot项目有几个端口
java·spring boot·后端
清风拂山岗 明月照大江6 小时前
Redis笔记汇总
java·redis·缓存
xiaoxue..6 小时前
合并两个升序链表 与 合并k个升序链表
java·javascript·数据结构·链表·面试
忧郁的Mr.Li6 小时前
SpringBoot中实现多数据源配置
java·spring boot·后端
yq1982043011566 小时前
静思书屋:基于Java Web技术栈构建高性能图书信息平台实践
java·开发语言·前端
一个public的class6 小时前
你在浏览器输入一个网址,到底发生了什么?
java·开发语言·javascript