> 文档中心 > 关于Go语言切片的思考

关于Go语言切片的思考

上一篇复习

  1. 切片的长度的是可以变化的,所以是不需要指定的
  2. 切片还有一个属性叫做容量,如果没有指定的话,那么就和切片的长度相同
  3. 切片的底层实现是数组,如果将切片看成是一个窗户,那么透过窗户能看到底层数组
  4. 透过窗户能看到的底层数组中元素的个数,就是切片的长度,但是有的数组元素并不能看见
  5. 而容量的含义就是透过窗口最多可以看到底层数组中元素的个数

这个例子包含了上面的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}

开发者涨薪指南 关于Go语言切片的思考 48位大咖的思考法则、工作方式、逻辑体系