數(shù)組
數(shù)組是內(nèi)置類型,是一組同類型數(shù)據(jù)的集合,它是值類型,通過(guò)從0開(kāi)始的下標(biāo)索引訪問(wèn)元素值。
在初始化后長(zhǎng)度是固定的,無(wú)法修改其長(zhǎng)度。當(dāng)作為方法的參數(shù)傳入時(shí)將復(fù)制一份數(shù)組而不是引用同一指針。
數(shù)組的長(zhǎng)度也是其類型的一部分,通過(guò)內(nèi)置函數(shù)len(array)獲取其長(zhǎng)度。
還有幾點(diǎn)要注意的:
- Go中的數(shù)組是值類型,如果你將一個(gè)數(shù)組賦值給另外一個(gè)數(shù)組,那么,實(shí)際上就是將整個(gè)數(shù)組拷貝一份。
- 如果Go中的數(shù)組作為函數(shù)的參數(shù),那么實(shí)際傳遞的參數(shù)是一份數(shù)組的拷貝,而不是數(shù)組的指針,修改數(shù)組的值需要傳遞數(shù)組的指針。
- array的長(zhǎng)度也是Type的一部分,這樣就說(shuō)明[1]int和[2]int是不一樣的。
//值傳遞,傳的是副本
func updateArr(b [3]int) {
b[0] = 3
}
//傳指針,[3]int是一個(gè)類型
func updateArrPoint(b *[3]int) {
b[0] = 3
}
func main() {
//常見(jiàn)兩種初始化方式
//var b = [...]int{1, 2, 3}
var b = [3]int{1, 2, 3}
updateArr(b)
fmt.Println(b)
updateArrPoint(&b)
fmt.Println(b)
//計(jì)算數(shù)組長(zhǎng)度和容量
fmt.Println(len(b))
fmt.Println(cap(b))
}
打?。?[1 2 3]
[3 2 3]
3
3
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7257瀏覽量
91942 -
數(shù)據(jù)結(jié)構(gòu)
+關(guān)注
關(guān)注
3文章
573瀏覽量
40761 -
數(shù)組
+關(guān)注
關(guān)注
1文章
420瀏覽量
26578
發(fā)布評(píng)論請(qǐng)先 登錄
C語(yǔ)言中指針數(shù)組和數(shù)組指針的區(qū)別
VB數(shù)組的使用
java中數(shù)組的三種定義方式_java中數(shù)組的定義及使用方法(推薦)
JAVA教程之一維數(shù)組和二維數(shù)組的介紹和應(yīng)用說(shuō)明

C語(yǔ)言教程之數(shù)組的定義與使用說(shuō)明

評(píng)論