一 切片
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() 函数