我只是想知道,为什么显然不可能完全恢复调整大小的切片。package mainimport ( "fmt")func main() { s := []int{1, 2, 3, 4, 5} fmt.Printf("len=%d cap=%d slice=%v\n", len(s), cap(s), s) fmt.Println("address of 0th element:", &s[0]) s = s[1:4] fmt.Printf("len=%d cap=%d slice=%v\n", len(s), cap(s), s) fmt.Println("address of 0th element:", &s[0]) // extend behind only ... s = s[:4] fmt.Printf("len=%d cap=%d slice=%v\n", len(s), cap(s), s) fmt.Println("address of 0th element:", &s[0])}https://play.golang.org/p/4Hwq9yfHeRR所以再次获得第一个元素(1)。这在某些情况下可能会有所帮助。我已阅读https://blog.golang.org/slices ...但我不明白他们为什么要这样做。存储数组的起始位置和第 0 个元素“听起来很简单”。我感觉我没有正确理解某事,或者我忽略了某事。
- 1 回答
- 0 关注
- 181 浏览
添加回答
举报
0/150
提交
取消
