切片有3個字段的數據結構:一個是指向底層數組的指針,一個是切片的長度,一個是切片的容量。
實際上切片就是切取數組的一個片段
代碼:
var intArr = [6]int{1, 2, 4, 5, 6, 7} silice := intArr[1:3] fmt.Println("intarr:", intArr) fmt.Println("silice:", silice) fmt.Println("silice個數:", len(silice)) fmt.Println("silice容量:", cap(silice)) fmt.Println("intarr[1]的內存地址:", &intArr[1]) fmt.Println("silice[0]的內存地址:", &silice[0]) silice[1] = 16 fmt.Println("intarr:", intArr) fmt.Println("silice:", silice)
內存分析