切片的建立方式現知道的有下面幾種方式,切片爲指針類型,從數組中獲得的切片修改元素值時,原數組也會發生變化(數組爲非指針類型)數組
package main import "fmt" func main() { //1.類型自動推導 s:=[]int{1,2,3,4} fmt.Println(s, len(s), cap(s)) //2.藉助make函數,格式爲:make(切片類型,切片長度,切片容量) s1:=make([]int,5,10) fmt.Println(s1, len(s1), cap(s1)) //3.藉助make函數,格式爲:make(切片容量,切片長度) s2:=make([]int,5) fmt.Println(s2, len(s2), cap(s2)) //這種狀況切片容量與切片長度相等 //4.經過現成的數組(或者切片)進行建立 a:=[5]int{1,2,3,4,5} s3:=a[1:3:5] fmt.Println(s3, len(s3), cap(s3)) }
//將整個數組截取爲切片能夠這樣寫
s4:=a[:]
下面是縮寫含義
切片的append方法,當切片沒有容量時,append的容量會成倍增加,假設append時容量不夠,當時容量爲8,則擴容之後的容量爲16