切片(slice)是 Golang 中一種比較特殊的資料結構,這種資料結構更便於使用和管理資料集合。切片是圍繞動態數組的概念構建的,可以按需自動增長和縮小。
透過make() 函數建立切片
使用Golang 內建的make() 函數建立切片,此時需要傳入一個參數來指定切片的長度:
// 创建一个整型切片 // 其长度和容量都是 5 个元素 slice := make([]int, 5)
此時只指定了切片的長度,那麼切片的容量和長度就相等。也可以分別指定長度和容量:
// 创建一个整型切片 // 其长度为 3 个元素,容量为 5 个元素 slice := make([]int, 3, 5)
分別指定長度和容量時,建立的切片,底層陣列的長度是指定的容量,但是初始化後並不能存取所有的陣列元素。
注意,Golang 不允許建立容量小於長度的切片,當建立的切片容量小於長度時會在編譯時刻報錯:
// 创建一个整型切片 // 使其长度大于容量 myNum := make([]int, 5, 3)
透過字面量建立切片
另一種常用的建立切片的方法是使用切片字面量,這種方法和建立陣列類似,只是不需要指定[]運算子裡的值。初始的長度和容量會基於初始化時提供的元素的個數確定:
// 创建字符串切片 // 其长度和容量都是 3 个元素 myStr := []string{"Jack", "Mark", "Nick"} // 创建一个整型切片 // 其长度和容量都是 4 个元素 myNum := []int{10, 20, 30, 40}
當使用切片字面量建立切片時,也可以設定初始長度和容量。要做的就是在初始化時給出所需的長度和容量作為索引。下面的語法展示如何使用索引方式建立長度和容量都是100個元素的切片:
// 创建字符串切片 // 使用空字符串初始化第 100 个元素 myStr := []string{99: ""}
更多golang知識請關注golang教學欄位。
以上是golang切片需要make嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!