在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
1 package main 2 3 import "fmt" 4 5 func main() { 6 /* 7 切片Slice: 8 1.每一个切片引用了一个底层数组 9 2.切片本身不存储任何数据,都是这个底层数组存储,所以修改切片也就是修改这个数组中的数据 10 3.当向切片中添加数据时,如果没有超过容量,直接添加,如果超过容量,自动扩容(成倍增长) 11 4.切片一旦扩容,就是重新指向一个新的底层数组 12 13 s1:3--->6--->12--->24 14 15 s2:4--->8--->16--->32.... 16 17 */ 18 s1 := []int{1, 2, 3} 19 fmt.Println(s1) // [1 2 3] 20 fmt.Printf("len:%d,cap:%d\n", len(s1), cap(s1)) // len:3,cap:3 21 fmt.Printf("%p\n", s1) // 0xc000012180 22 23 s1 = append(s1, 4, 5) 24 fmt.Println(s1) // [1 2 3 4 5] 25 fmt.Printf("len:%d,cap:%d\n", len(s1), cap(s1)) // len:5,cap:6 26 fmt.Printf("%p\n", s1) // 0xc00000a270 27 28 s1 = append(s1, 6, 7, 8) 29 fmt.Println(s1) // [1 2 3 4 5 6 7 8] 30 fmt.Printf("len:%d,cap:%d\n", len(s1), cap(s1)) // len:8,cap:12 31 fmt.Printf("%p\n", s1) // 0xc00001a0c0 32 33 s1 = append(s1, 9, 10) 34 fmt.Println(s1) // [1 2 3 4 5 6 7 8 9 10] 35 fmt.Printf("len:%d,cap:%d\n", len(s1), cap(s1)) // len:10,cap:12 36 fmt.Printf("%p\n", s1) // 0xc00001a0c0 37 38 s1 = append(s1, 11, 12, 13, 14, 15) 39 fmt.Println(s1) // [1 2 3 4 5 6 7 8 9 10 11 12 13 14 15] 40 fmt.Printf("len:%d,cap:%d\n", len(s1), cap(s1)) // len:15,cap:24 41 fmt.Printf("%p\n", s1) // 0xc000108000 42 }
|
请发表评论