切片的創建方式現知道的有下面幾種方式,切片為指針類型,從數組中得到的切片修改元素值時,原數組也會發生變化(數組為非指針類型)
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
