Go-切片

切片的长度、容量

 1 package main
 2 
 3 import "fmt"
 4 
 5 func main() {
 6     a := []int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}
 7     s1 := a[:]
 8     fmt.Println("s1=", s1)
 9     fmt.Printf("len=%d, cap=%d\n", len(s1), cap(s1))
10 
11     s2 := a[3:6:7]
12     fmt.Println("s2=", s2)
13     fmt.Printf("len=%d, cap=%d\n", len(s2), cap(s2))
14 
15     s3 := a[:6]
16     fmt.Println("s3=", s3)
17     fmt.Printf("len=%d, cap=%d\n", len(s3), cap(s3))
18 
19     s4 := a[3:]
20     fmt.Println("s4=", s4)
21     fmt.Printf("len=%d, cap=%d\n", len(s4), cap(s4))
22 }
View Code

切片的copy

 1 package main
 2 
 3 import "fmt"
 4 
 5 func main() {
 6     srcSlice := []int{1, 2, 3, 4}
 7     dstSlice := []int{1, 1, 1, 1}
 8 
 9     copy(dstSlice, srcSlice)
10     fmt.Println("dst = ", dstSlice)
11 }
View Code

切片的append特点

 1 package main
 2 
 3 import "fmt"
 4 
 5 func main() {
 6     s := make([]int, 0, 1)
 7     oldCap := cap(s)
 8     fmt.Println("s= ", s)
 9     fmt.Println("oldCap= ", oldCap)
10 
11     s = append(s, 1)
12     fmt.Println("s= ", s)
13     fmt.Println("1 newCap= ", cap(s))
14 
15     s = append(s, 2)
16     fmt.Println("s= ", s)
17     fmt.Println("2 newCap= ", cap(s))
18 
19     s = append(s, 3)
20     fmt.Println("s= ", s)
21     fmt.Println("3 newCap= ", cap(s))
22 
23     // s = append(s, 4)
24     // fmt.Println("s= ", s)
25     // fmt.Println("4 newCap= ", cap(s))
26 }
View Code

 

posted @ 2019-05-15 20:40  大西瓜Paul  阅读(93)  评论(0)    收藏  举报
/*增加返回顶部按钮*/ 返回顶部 /*给标题增加蓝色背景长条*/