我只是想知道,为什么显然不可能完全恢复调整大小的切片。
package main
import (
"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 个元素“听起来很简单”。
我感觉我没有正确理解某事,或者我忽略了某事。
神不在的星期二
守着星空守着你
随时随地看视频慕课网APP
相关分类