string和[]byte
string是不可变类型,不能通过下标修改值,适合表示不可变的文本数据,安全、简洁,适合 map 键和比较操作。
[]byte可变类型,可以通过下标修改值,也可以动态扩容,适合处理可变的字节流,性能更高,适合 I/O 和缓冲区操作。具名函数定义必须位于包级别中,不能在函数体内嵌套定义具名函数
类型断言
value, ok := x.(T)/value := x.(T)
询问接口值 x 中存储的动态类型是否是 T导入的包必须在代码中被使用,除非使用空白标识符作为别名,仅为了执行包的初始化过程,而不直接使用包中的任何导出函数、类型或变量。,如
import _ "net/http/pprof"切片扩容
- 特殊直接分配:如果所需容量大于旧容量的两倍,新容量直接等于所需容量。
- 小容量翻倍:如果旧容量小于256,新容量一般直接翻倍(乘以2)。
- 大容量平滑过渡:如果旧容量大于等于256,则会进入一个循环,通过特定公式计算新容量。这个公式会让扩容倍数从2开始,随着容量增大,平滑地趋近于1.25倍,而不是一个固定的倍数。
小知识
·26 字·1 分钟