package
0.0.0-20240917151801-3e295c8ed30c
Repository: https://github.com/w3liu/algorithm.git
Documentation: pkg.go.dev
# README
- Go语言中数组、字符串、切片三者是密切相关的数据结构。
- 在底层数据有着相同的内存结构。
- 数组是一种值类型,赋值、传参都是以整体复制的方式处理。
- 字符串底层数据结构是字节数组,字符串是只读的禁止了对底层数组元素的修改。
- 切片底层数据结构是数组,每个切片有独立的长度和容量。
- 将字符串转为[]byte时,如果转换后没有被修改的情形,编译器可能会直接返回原始的字符串对应的底层数据。
- 将[]byte转为字符串时,如果原始[]byte变量并不会发生变化,编译器可能会直接基于[]byte底层的数据结构构建字符串。
- 将字符串转为[]rune,必然会导致重新分配[]rune内存空间。
- 将[]rune转为字符串,必然会导致重新构造字符串。