GO語言學習之陣列

2022-07-23 06:06:12 字數 1975 閱讀 9415

陣列是乙個由「固定長度的", "特定型別元素"組成的序列,乙個陣列可以由乙個或多個元素組成;因為陣列的元素是固定的,所以在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]int

var r [3]int = [3]int

fmt.println(q)

fmt.println(r[2])

結果:[12

3]0

如果不想指定陣列元素的數量,可以用[...]代替,表示陣列的長度根據初始化值的個數來計算

q := [...]int

fmt.printf(

"%t\n

", q)

結果:[

5]int

//有5個元素的int陣列

二、比較兩個陣列是否相等

如果兩個陣列型別相同(包括陣列的長度,陣列中元素的型別)的情況下,我們可以直接通過運算子(==和!=)來判斷兩個陣列是否相等

只有當兩個陣列的所有元素都是相等的時候 陣列才是相等的

不能比較兩個型別不同的陣列,否則程式將無法完成編譯

a := [2]int

b := [...]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]string

team[

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...