Go 數(shù)組

數(shù)組用于在單個(gè)變量中存儲(chǔ)相同類型的多個(gè)值,而不是為每個(gè)值聲明單獨(dú)的變量。
聲明數(shù)組
在Go中,有兩種聲明數(shù)組的方式:
使用
var
關(guān)鍵字:
語(yǔ)法
var array_name = [length]datatype{values} // 這里定義了長(zhǎng)度
或者
var array_name = [...]datatype{values} // 這里長(zhǎng)度是隱含的
使用
:=
符號(hào):
語(yǔ)法
array_name := [length]datatype{values} // 這里定義了長(zhǎng)度
或者
array_name := [...]datatype{values} // 這里長(zhǎng)度是隱含的
注意:長(zhǎng)度指定了數(shù)組中要存儲(chǔ)的元素?cái)?shù)量。在Go中,數(shù)組具有固定的長(zhǎng)度。數(shù)組的長(zhǎng)度可以通過(guò)一個(gè)數(shù)字來(lái)定義,也可以是隱含的(這意味著編譯器根據(jù)值的數(shù)量來(lái)決定數(shù)組的長(zhǎng)度)。
數(shù)組示例 這個(gè)示例聲明了兩個(gè)具有定義長(zhǎng)度的數(shù)組(arr1和arr2):
package main
import "fmt"
func main() {
?var arr1 = [3]int{1, 2, 3}
?arr2 := [5]int{4, 5, 6, 7, 8}
?fmt.Println(arr1)
?fmt.Println(arr2)
}
輸出:
[1 2 3]
[4 5 6 7 8]
示例 這個(gè)示例聲明了兩個(gè)隱含長(zhǎng)度的數(shù)組(arr1和arr2):
package main
import "fmt"
func main() {
?var arr1 = [...]int{1, 2, 3}
?arr2 := [...]int{4, 5, 6, 7, 8}
?fmt.Println(arr1)
?fmt.Println(arr2)
}
輸出:
[1 2 3]
[4 5 6 7 8]
示例 這個(gè)示例聲明了一個(gè)字符串?dāng)?shù)組:
package main
import "fmt"
func main() {
?var cars = [4]string{"Volvo", "BMW", "Ford", "Mazda"}
?fmt.Print(cars)
}
輸出:
[Volvo BMW Ford Mazda]
訪問(wèn)數(shù)組元素
您可以通過(guò)引用索引號(hào)來(lái)訪問(wèn)特定的數(shù)組元素。
在Go中,數(shù)組索引從0開(kāi)始。這意味著[0]是第一個(gè)元素,[1]是第二個(gè)元素,依此類推。
示例
這個(gè)示例展示了如何訪問(wèn)prices數(shù)組中的第一個(gè)和第三個(gè)元素:
package main
import "fmt"
func main() {
?prices := [3]int{10, 20, 30}
?fmt.Println(prices[0])
?fmt.Println(prices[2])
}
輸出:
10
30
更改數(shù)組元素
您還可以通過(guò)引用索引號(hào)來(lái)更改特定數(shù)組元素的值。
示例
這個(gè)示例展示了如何更改prices數(shù)組中第三個(gè)元素的值:
package main
import "fmt"
func main() {
?prices := [3]int{10, 20, 30}
?prices[2] = 50
?fmt.Println(prices)
}
輸出:
[10 20 50]
數(shù)組初始化
如果數(shù)組或其元素在代碼中沒(méi)有被初始化,它將被分配其類型的默認(rèn)值。
提示:int的默認(rèn)值是0,string的默認(rèn)值是""。
示例
package main
import "fmt"
func main() {
?arr1 := [5]int{} ? ? ? ? ? // 未初始化
?arr2 := [5]int{1, 2} ? ? ? // 部分初始化
?arr3 := [5]int{1, 2, 3, 4, 5} // 全部初始化
?fmt.Println(arr1)
?fmt.Println(arr2)
?fmt.Println(arr3)
}
輸出:
[0 0 0 0 0]
[1 2 0 0 0]
[1 2 3 4 5]
僅初始化特定元素
也可以僅初始化數(shù)組中的特定元素。
示例
這個(gè)示例僅初始化數(shù)組的第二和第三個(gè)元素:
package main
import "fmt"
func main() {
?arr1 := [5]int{1: 10, 2: 40}
?fmt.Println(arr1)
}
輸出:
[0 10 40 0 0]
示例解釋
上面的數(shù)組有5個(gè)元素。
1:10 表示:將10賦值給數(shù)組索引1(第二個(gè)元素)。
2:40 表示:將40賦值給數(shù)組索引2(第三個(gè)元素)。
查找數(shù)組的長(zhǎng)度
使用len()
函數(shù)可以找到數(shù)組的長(zhǎng)度:
示例
package main
import "fmt"
func main() {
?arr1 := [4]string{"Volvo", "BMW", "Ford", "Mazda"}
?arr2 := [...]int{1, 2, 3, 4, 5, 6}
?fmt.Println(len(arr1))
?fmt.Println(len(arr2))
}
輸出:
4
6
最后
為了方便其他設(shè)備和平臺(tái)的小伙伴觀看往期文章,鏈接奉上:
公眾號(hào)搜索Let us Coding
看完如果覺(jué)得有幫助,歡迎點(diǎn)贊、收藏和關(guān)注