关于Go语言切片的思考
上一篇复习
- 切片的长度的是可以变化的,所以是不需要指定的
- 切片还有一个属性叫做容量,如果没有指定的话,那么就和切片的长度相同
- 切片的底层实现是数组,如果将切片看成是一个窗户,那么透过窗户能看到底层数组
- 透过窗户能看到的底层数组中元素的个数,就是切片的长度,但是有的数组元素并不能看见
- 而容量的含义就是透过窗口最多可以看到底层数组中元素的个数
这个例子包含了上面的5点
package mainimport "fmt"func main() { a := []int {1, 2, 3, 4, 5}//切片的长度是5,容量也是5 b := a[2:4] fmt.Println("b length:", len(b))//输出2 fmt.Println("b cap:", cap(b))//输出3}
开发者涨薪指南
48位大咖的思考法则、工作方式、逻辑体系