知识卡片
切片可变视图
内容
数组长度固定,切片把“可变长度”和“共享底层数据”包装成更适合业务集合的视图。它方便追加和传递,但引用语义也意味着修改可能影响同一底层数组的其他视图。
参考来源
- 位置:《Go语言高级开发与实战》第1章《Go语言基础实战》(源文件:_epub-src/GoYu Yan Gao Ji Kai Fa Yu Shi Zhan_split_006.html)
- 结论依据:原文对比数组长度不可变与切片长度不固定、可追加、容量可增长,并指出切片是引用类型,因此支撑“可变视图”的结论。
- 原始内容:片基础技巧 1.3.1 数组和切片基础 在Go语言中数组的长度不可改变,在特定场景中这样的集合就不太适用。Go语言中提供了一种灵活、功能强悍的内置类型S li ces(切片)(动态数组),与数组相比切片的长度是不固定的,可以追加元素,在追加时可能使切片的容量增大。切片中有两个概念:一是len长度;二是cap容量。长度的值等于已经被赋过值的最大下标+1,可通过内置函数len()获得。容量是指切片目前可容纳的元