go學習之陣列
阿新 • • 發佈:2021-08-04
陣列是同一種資料型別元素的集合。 在Go語言中,陣列從宣告時就確定,使用時可以修改陣列成員,但是陣列大小不可變化。
陣列定義 var 陣列變數名 [元素數量]T 例如:var a [5]int 注意:陣列的長度必須是常量,並且長度是陣列型別的一部分。一旦定義,長度不能變。a [5]int 和 a [10]int 是不同型別,不能做比較。go語言是強型別語言,相同型別的變數才能比較
陣列初始化 1、陣列定義後,預設元素都是零值(布林值:fales,整型:,字串:"") 列如: var a [3]int fmt.Print(a) 輸出:[0 0 0] 2、陣列定義後給初始值 例如: var a= [...]string{"北京", "上海", "深圳"} fmt.Print(a) 說明:go可以根據初始值的個數自行推斷陣列的長度 3、通過索引方式初始化 例如: a := [...]int{1: 1, 3: 5}
陣列迴圈有如下兩種方式 //for 迴圈 var a = [...]string{"北京", "上海", "深圳"} for i := 0; i < len(a); i++ { fmt.Println(a[i]) } //for range 遍歷 //如果不需要索引可以使用“_”接收 for index, value := range a { fmt.Println(index, value) }
多維資料遍歷 a := [3][2]string{ {"北京", "上海"}, {"廣州", "深圳"}, {"成都", "重慶"}, } for _, v1 := range a { for _, v2 := range v1 { fmt.Printf("%s\t", v2) } fmt.Println() }
注意 go語言中陣列arry是可變+拷貝資料型別 arry1 := [3]string{"A", "B", "C"} arry2 := arry1 arry1[0] = "a" // arry2資料不變 arry2[1] = "b"// arry1資料不變