go陣列基本使用

2021-10-02 15:40:16 字數 2016 閱讀 6427

建立陣列

func createarr() 

fmt.println(arr1)

//不指定陣列長度

//go 語言會根據元素的個數來設定陣列的大小

var arr2 = int

var arr3 = [...]int

fmt.println(arr2)

fmt.println(arr3)

//建立變數或者常量 可以簡寫

arr4 := int

fmt.println(arr4)

//初始化對指定元素賦值

//第三個元素 初始化為1

var arr5 = [5]int

fmt.println(arr5)

// 獲取陣列的長度和容量

fmt.println(len(arr1))

fmt.println(cap(arr1))

}

結果

[1 3 5 2 9]

[1 2]

[2 3 4]

[5][0 0 0 1 0]

55

編輯陣列
func editarr() 

fmt.print(len(arr1), cap(arr1))

fmt.println(arr1)

// 給arr1 新增元素 3,4

fmt.println("arr1 = ", arr1)

fmt.println("arr2 = ", arr2)

fmt.print(len(arr1), cap(arr1))

//改變陣列中元素的值

arr1[0] = 9

fmt.println(arr1)

}

結果

2 2[1 2]

[1 2 3 4]

4 4[9 2 3 4]

指標&陣列
func pointarr() 

var p *int = &a

fmt.println(a)

fmt.println(p) //比a 多了乙個取位址符

// 指標陣列 陣列裡存放的是指標位址,不是實際的值

var x, y = 4, 5

arr := *int

fmt.println(arr)

}

結果

[0 0 0 0 0 1]

&[0 0 0 0 0 1]

[0xc4200142b0 0xc4200142b8]

range遍歷陣列
func rangearr() 

for i, v := range arr

}

結果

0 1

1 22 3

3 44 5

new 關鍵字建立陣列
func newarr() 

a[1] = 2

fmt.println(a)

p := new([5]int) //可以通過下標賦值

p[1] = 2

fmt.println(p)

}

結果

[0 2 0 0 0]

&[0 2 0 0 0]

陣列傳遞

在函式內改變陣列不會影響原本陣列的值,因為是指類選,會進行一次拷貝

func main() 

fmt.println(testarr)

modifyarr(testarr)

fmt.println("in main", testarr)

}func modifyarr(arr [5]int)

結果

[1 2 3 4 5]

in modify [10 2 3 4 5]

in main [1 2 3 4 5]

Go的for基本使用

基本的 for 迴圈由三部分組成,它們用分號隔開 初始化語句 在第一次迭代前執行 條件表示式 在每次迭代前求值 後置語句 在每次迭代的結尾執行 一旦條件表示式的布林值為 false,迴圈迭代就會終止 示例 package main import fmt func main fmt.println s...

傳陣列 一文掌握Go中陣列和基本使用

本文主要介紹go語言中陣列 array 及它的基本使用。陣列是同一種資料型別元素的集合。在go語言中,陣列從宣告時就確定,使用時可以修改陣列成員,但是陣列大小不可變化。基本語法 var 陣列變數名 元素數量 t 比如 var a 5 int,陣列的長度必須是常量,並且長度是陣列型別的一部分。一旦定義...

Go 15 Go 運算子基本使用

運算子是一種特殊的符號,用以表示資料的運算,賦值和比較等 算術運算子 主要對數值型別的變數進行運算 正號 負號 加減乘除 取模 取餘 自增 自減 除法 fmt.println 10 4 結果 2 解釋 都是整數,那麼除后,去掉小數部分,保留整數部分 如果希望保留小數部分,則需要又浮點數參與運算 va...