GO 復合型別3 對映

2021-08-27 11:19:18 字數 1705 閱讀 9424

對映概述

建立map

func demo81() 

//var mmp map[string]int

//var mmp = map[string]int

//通過內建函式make建立

//mmp := make(map[string]int)

//建立乙個string為鍵,值為任意型別的map

mmp := make(map[string]inte***ce{})

//丟入鍵值對到map中

mmp["name"]="西門東"

mmp["***"]="male"

mmp["hobby"]="female"

mmp["rmb"]=0.5

fmt.printf("type=%t,value=%v,len=%d\n", mmp, mmp, len(mmp))

}

刪除鍵值對

func demo82() )

//丟入鍵值對到map中

mmp["name"] = "西門東"

mmp["***"] = "male"

mmp["hobby"] = "female"

mmp["rmb"] = 0.5

//刪除hobby對應的鍵值對

delete(mmp, "hobby")

fmt.println(mmp)

}

修改鍵值對

func demo83() )

//丟入鍵值對到map中

mmp["name"] = "西門東"

mmp["***"] = "male"

mmp["hobby"] = "female"

mmp["rmb"] = 0.5

//修改特定的鍵值對

mmp["hobby"] = [...]string

mmp["rmb"] = -29999.5

mmp["最愛的書籍"] = "平凡的世界"

fmt.println(mmp)

}

map的查詢和遍歷

func demo84() )

//丟入鍵值對到map中

mmp["name"] = "西門東"

mmp["***"] = "male"

mmp["hobby"] = "female"

mmp["rmb"] = 0.5

//沒有校驗的查詢,當key不存在時value為value1 := mmp["***"]

fmt.println("***=",value1)

value1 = mmp["***2"]

//***2= fmt.println("***2=",value1)

//帶有校驗的查詢

value2, ok := mmp["最愛的書"]

if ok == true else

//遍歷鍵值

for key, value := range mmp

//遍歷所有鍵

fmt.println("key := range mmp")

for key := range mmp

}

go 復合型別

1.陣列 1 陣列是擁有固定長度且擁有零個或者多個相同資料型別元素的序列。2 初始值預設為元素型別的零值 3 如果 出現在陣列長度的位置,則陣列的長度由初始化陣列的元素個數決定 4 陣列長度是陣列型別的一部分,3 int 和 4 int 是不同的型別,不能互相賦值 也就是說陣列長度在編譯時就已經確定...

GO 復合型別 切片

相當於長度可以擴張的陣列 經過陣列擷取的片段就是切片 func main01 擷取陣列的前9位 slice array 0 9 fmt.printf array的資料型別是 t n array fmt.printf slice的資料型別是 t,值是 v n slice,slice 下標為0開始擷取5...

GO 復合型別5 結構體

定義結構體 type book struct建立物件時直接對屬性賦值 func demo91 fmt.printf type t,value v n b,b 建立空白物件,並逐一對屬性賦值 func demo92 b.name 水許傳 b.price 34.56 fmt.printf type t,...