一 切片
Go 数组的长度不可改变, 在特定场景中这样的集合就不太适用, Go 中提供了一种灵活, 功能强悍的内置类型切片 ("动态数组"), 与数组相比切片的长度是不固定的, 可以追加元素, 在追加时可能使切片的容量增大.
- package main
- func main() {
- len := 10
- cap := 100
- var slice1 []int = make([]int, len, cap) // 一
- // 也可以简写为
- slice2 := make([]int, len, cap) // 二
- s :=[] int {1,2,3 } // 三
- arr := [5] int{1,2,3,4,5}
- s1 := arr[2:4] // 四
- }
二 len() 和 cap() 函数
切片是可索引的, 并且可以由 len() 方法获取长度.
切片提供了计算容量的方法 cap() 可以测量切片最长可以达到多少.
三 切片截取
- fmt.Println("numbers[1:4] ==", s1[1:4])
- /* 默认下限为 0*/
- fmt.Println("numbers[:3] ==", s1[:3])
- /* 默认上限为 len(s)*/
- fmt.Println("numbers[4:] ==", s1[4:])
四 append() 和 copy() 函数
来源: http://www.bubuko.com/infodetail-2648937.html