Yar*_*Yar 2 arrays go slice
假设我们有这样的切片
b:= make([]int, 0, 5) // length: 0, cap: 5
由"b"切片制成的"c"切片
c:= b[:2] // length: 2 (?), cap: 5
我们为什么要为"c"长度为2的问题?我也期待长度为零,就像b一样,因为我们用b表示c
two*_*two 6
是的,切片可以让你访问超出len原始切片的元素(虽然不超出它cap,或谁知道你要访问的内存).
len
cap
这意味着,例如,您可以实现append类似功能,返回"增长"切片,len增加到更接近的位置cap.也就是说,append访问之间的区域len并且cap不仅可用于内置函数; 你也拥有它.看看Append:关于切片的Go博客条目中的一个示例,看它已经完成(如果有兴趣阅读整个帖子;它有助于使整个切片有意义).
append
切片表达式(和切片类型)和切片技巧页面上的规范也可能很有趣.
归档时间:
9 年,10 月 前
查看次数:
852 次
最近记录: