切片(Slice)
切片是拥有相同类型元素的可变长度的序列,Slice 通常写成
[]T
, T 代表元素类型。
- 数组和切片是紧关联
- 每个 Slice 都有一个底层数组,用来提供 Slice 的访问
- Slice 拥有三个属性:
指针
,长度
,容量
声明
number := make([]string, 3, 10) // 初始化一个长度为 3, 容量为 10 的字符串切片
访问
l := len(number) // 访问长度 3
c := cap(number) // 访问容量 10
追加
number = append(number, "one")
fmt.Println(len(number)) // 长度 4
注意这里是
追加
,所以长度才会变为 4,因为在切片已经初始化了三个值。如果你想要填充前三个空位,可以用下标访问赋值比较
切片唯一允许的比较操作是和
nil
做比较fmt.Println(len(number) == 0) // false fmt.Println(number == nil) // false fmt.Println(number[0] == "") // true var empty []string fmt.Println(empty == nil) // true
© 著作权归作者所有
举报
发表评论
0/200