《Go語言實戰》筆記 第4章 陣列 切片和對映

2021-09-10 15:38:05 字數 3135 閱讀 9385

1. 1一維陣列的建立

//宣告乙個陣列,陣列類元素已初始化為零值

var array_1[5]int

//使用陣列字面量宣告陣列

array_2:=[5]int

//自動計算資料長度

array_3:=[...]int

//初始化時,指定特定元素的值

array_4:=[5]int

//???在為指標陣列賦值之前必須要先宣告指標型別

array_5:=[5]*int

*array_5[1]=20

var array_7_1[3]*string

array_7_2:=[3]*string

*array_7_2[0]="red"

*array_7_2[1]="blue"

*array_7_2[2]="green"

array_7_1=array_7_2

1.2. 多維陣列的建立

//宣告1

var array_8[4][2]int

//宣告2,賦值

array_9:=[4][2]int,,,}

//宣告2,指定外層索引賦值(指定某一行)

array_10:=[4][2]int,3:}

//宣告2,指定單個元素

2.1 切片的建立

//使用長度宣告乙個切片

slice_1:=make(string,5)

//使用長度與容量宣告乙個切片

slice_2:=make(string,3,5)

//使用切片字面量宣告切片

slice_3:=string

slice_4:=int

//使用索引宣告切片,初始化100個元素

slice_5:=string

//宣告nil切片,長度0,容量0

var slice_6int

//宣告空切片,長度0,容量0

slice_7:=make(int,0)

slice_8:=int{}

2.2 切片增長

//向切片中增加元素,長度《容量,會產生覆蓋

slice_9:=int

slice_10:=slice_9[1:3]

fmt.println(slice_10)

//長度=容量時,擴充容量(容量<1000時,翻倍,此後1.25倍)

slice_11:=int

//在建立切片時,限制容量

slice_14:=slice_13[2:3:4]

//為防止覆蓋元資料,設定容量與長度一樣

slice_16:=slice_15[2:3:3]

//此時,元資料slice_15沒有被覆蓋

//將切片追加到切片

slice_17:=int

slice_18:=int

2.3 多維切片

//多維切片

slice_19:=int,}

fmt.println(slice_19)

//追加

3.1 建立對映

//建立對映,鍵:string值:int

dict_1:=make(map[string]int)

fmt.println(dict_1)

//建立對映,使用對映字面量

dict_2:=map[string]string

fmt.println(dict_2)

//建立空對映

dict_3:=map[int]string{}

fmt.println(dict_3)

//建立未初始化的對映nil

var dict_4 map[string]string

fmt.println(dict_4)

3.2 使用切片作為對映的值

//使用切片作為對映的值,但是不可作為鍵

dict_5:=map[int]string{}

dict_5[0]=string

fmt.println(dict_5)

3.3. 取值操作

//取值返回健值與這個鍵是否存在的標誌

dict_6:=map[string]string

value,exists:=dict_6["red"]

if exists

//若取值鍵不存在,返回的值是該值對應型別的零值,

//也可以依據這個進行判斷(在儲存的值不是零值的情況下)

value,exists=dict_6["blue"]

if value !=""

3.4 迭代對映

//迭代對映

dict_7:=map[string]string

for key_7,value_7:= range dict_7

3.5. 刪除鍵值對

//刪除鍵值對

go語言實戰筆記 二

碼 之前一定要安裝go,哈哈哈哈,反正我只裝goland然後寫不了 報錯,卡在第一段 哈哈哈哈哈哈 新建專案goproject 新建src資料夾 新建main資料夾 新建第乙個go檔案 開始寫 好了,我用一秒鐘的時間寫完了下面的 package main import bufio fmt os my...

go語言筆記(陣列 切片)

var a 4 int 定義長度為4,型別為int的陣列,沒有初始化時就是預設值 b 4 int 定義的時候同時初值化 c 4 int 通過索引指定初始化 d int 可以不定義陣列的長度,但是要初始化 fmt.println a,b,c,d 執行結果 0 0 0 0 1 2 3 4 2 0 0 5...

《Go語言實戰》讀書筆記之Golang的陣列

宣告和初始化 宣告陣列時需要指定內部儲存的資料的型別,以及需要儲存的元素的數量,這個數量也稱為陣列的長度 宣告乙個包含5個元素的整型陣列 var array 5 int 一旦宣告,陣列裡儲存的資料型別和陣列長度就都不能改變了。如果需要儲存更多的元素,就需要先建立乙個更長的陣列,再把原來陣列裡的值複製...