go 切片的建立方式

切片的建立方式現知道的有下面幾種方式,切片爲指針類型,從數組中獲得的切片修改元素值時,原數組也會發生變化(數組爲非指針類型)數組

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
相關文章
相關標籤/搜索