首頁 >後端開發 >Golang >golang數組與切片的不同之處

golang數組與切片的不同之處

尚
原創
2019-12-31 14:11:412437瀏覽

golang數組與切片的不同之處

陣列是指一系列相同類型資料的集合。陣列中包含的每個資料稱為陣列元素(element),這種類型可以是任意的原始類型,例如 int、string 等,也可以是使用者自訂的類型。一個陣列所包含的元素個數被稱為數組的長度。

在Golang中陣列是一個長度固定的資料類型,陣列的長度是類型的一部分。

切片(slice)是 Golang 中一種比較特殊的資料結構,這種資料結構更便於使用和管理資料集合。切片是圍繞動態數組的概念構建的,可以按需自動增長和縮小。

下面我們來看go語言中的陣列與切片的差異:

1、定義方式不一樣

#2、初始化方法不一樣:

陣列需要指定大小,不指定也會根據初始化的自動推導出大小,不可改變

##切片不需要指定大小。

3、函數傳遞方式不同:陣列是值傳遞,切片是位址傳遞。

陣列定義:

var a1 [3]int
var a2 [...]int{1,2,3}

切片定義

var b1 []int
b2 := make([]int, 3, 5)

陣列初始化

a1 := [...]int{1,2,3}
a2 := [5]int{1,2,3}

切片初始化


b1 := make([]int, 3,5)

更多golang知識請關注

golang教程欄位。

以上是golang數組與切片的不同之處的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn