我只是想知道,為什么顯然不可能完全恢復調整大小的切片。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 關注
- 159 瀏覽
添加回答
舉報
0/150
提交
取消