1. slice
slice底层存储的其实一个结构,如下:
type slice struct {
array unsafe.Pointer
len int
cap int
}
先提供一篇文章加深理解slice对象的文章:
https://segmentfault.com/a/1190000017910165?utm_source=sf-related
以下我用go1.13.8 linux/amd64,再次测试:
func testsliceInt(sliceInt []int) {
fmt.Printf("testslice: &sliceInt addr:%p\n", &sliceInt)
fmt.Printf("testslice: sliceInt array addr:%p, val:%v\n", sliceInt, sliceInt)
sliceInt[0] = 11
fmt.Printf("testslice: sliceInt array addr:%p, val:%v\n", sliceInt, sliceInt)
sliceInt = append(sliceInt, 12)
fmt.Printf("testslice: sliceInt array addr:%p, val:%v\n", sliceInt, sliceInt)
}
func main(){
sliceInt := make([]int, 1, 2)
sliceInt[0] =