陣列是乙個由「固定長度的", "特定型別元素"組成的序列,乙個陣列可以由乙個或多個元素組成;因為陣列的元素是固定的,所以在go語言當中很少直接使用陣列.
一、陣列宣告
陣列宣告語法:
var 陣列變數名 [元素數量]type
陣列的每個元素都可以通過索引下標來訪問,索引下標的範圍是從0開始,內建函式len()可以返回陣列元素中的個數
*************************=********************************==func main()
var b [3]int = [3]int
//求陣列中最後乙個元素是什麼.
fmt.println(a[len(a)-1
])//
列印陣列b
fmt.println(b)
//遍歷陣列a,列印出下標和對應的元素的值
for i,v :=range a
//遍歷陣列a,只列印出每個元素的值
for _,v :=range a
}******************************===結果***********************************==
wangwu
//a陣列中最後乙個元素的值[1
23] //
b陣列//
列印陣列a,下標和對應的元素的值值
0zhangsan
1lisi
2string=wangwu
----------------------------------------
//只列印陣列a元素的值
zhangsan
lisi
wangwu
預設情況下,陣列的每個元素都被初始化為元素型別對應的0值,對於int型別就是0,string型別就是空
var q [3]int = [3]intvar r [3]int = [3]int
fmt.println(q)
fmt.println(r[2])
結果:[12
3]0
如果不想指定陣列元素的數量,可以用[...]代替,表示陣列的長度根據初始化值的個數來計算
q := [...]intfmt.printf(
"%t\n
", q)
結果:[
5]int
//有5個元素的int陣列
二、比較兩個陣列是否相等
如果兩個陣列型別相同(包括陣列的長度,陣列中元素的型別)的情況下,我們可以直接通過運算子(==和!=)來判斷兩個陣列是否相等
只有當兩個陣列的所有元素都是相等的時候 陣列才是相等的
不能比較兩個型別不同的陣列,否則程式將無法完成編譯
a := [2]intb := [...]int
c := [2]int
fmt.println(a == b, a == c, b == c) //
結果: "true false false"
d := [3]int
fmt.println(a == d) //
編譯錯誤:無法比較 [2]int == [3]int
三、遍歷陣列-->訪問每乙個陣列元素
var team [3]stringteam[
0] = "
zhangsan
"team[
1] = "
lisi
"team[
2] = "
wangwu
"for k,v :=range team
結果:0
zhangsan
1lisi
2 wangwu
Go語言學習 陣列
陣列是go語言程式設計中最常用的資料結構之一。顧名思義,陣列就是指一系列同一型別資料的集合。陣列中包含的每個資料被稱為陣列元素 element 乙個陣列包含的元素個數被稱為陣列的長度。在go語言中陣列是乙個值型別 value type 是真真實實的陣列,而不是乙個指向陣列記憶體起始位置的指標,也不能...
GO語言學習 陣列
定義乙個陣列var 陣列變數名 元素數量 元素型別 var a 3 int定義乙個int陣列 長度為 3 fmt.println a 輸出結果為 0 0 0 在宣告陣列時,如果沒有對陣列進行賦值 則會為該型別的預設值 int 型別為 0 string型別為 在定義的時候賦值var a 3 int 長...
go 宣告二維陣列 Go 語言學習之陣列
概念陣列是具有固定長度,並且有零個或多個相同資料型別元素的序列,陣列長度是陣列型別的一部分,也就是說 3 int 和 4 int 是兩個不同型別的陣列,二者不可以比較,陣列通過索引訪問元素,go 語言內建函式 len 可以返回陣列的長度,在 go 語言中,陣列是值傳遞。02 宣告陣列和初始化 在 g...