123456789101112131415161718192021222324252627 |
- /**
- 测试golang slice扩展长度的规则
- 结论, slice cap空间够的时候,cap不变,cap不够的时候,会乘2.
- */
- package main
- import "fmt"
- func main() {
- var ary = make([]int, 1, 1)
- ary[0] = 1
- fmt.Printf("value: %v, len: %v, cap: %v\n", ary, len(ary), cap(ary))
- ary = append(ary, 2)
- fmt.Printf("value: %v, len: %v, cap: %v\n", ary, len(ary), cap(ary))
- ary = append(ary, 3)
- fmt.Printf("value: %v, len: %v, cap: %v\n", ary, len(ary), cap(ary))
- ary = append(ary, 4)
- fmt.Printf("value: %v, len: %v, cap: %v\n", ary, len(ary), cap(ary))
- ary = append(ary, 5)
- fmt.Printf("value: %v, len: %v, cap: %v\n", ary, len(ary), cap(ary))
- }
|