Go語言基礎(十一)Map

2021-09-02 16:35:03 字數 2095 閱讀 2534

map 是一種無序的鍵值對的集合。map 最重要的一點是通過 key 來快速檢索資料,key 類似於索引,指向資料的值。

map 是一種集合,所以我們可以像迭代陣列和切片那樣迭代它。不過,map 是無序的,我們無法決定它的返回順序,這是因為 map 是使用 hash 表來實現的。

func main() 

m2 := make(map[string]int) // m3 = empty

var m3 map[string]int // m3 = nil

fmt.print(m1,m2,m3)

}

執行結果如下:

使用range對map進行遍歷

func main() 

fmt.println("遍歷map。。。")

for k,v := range m1

}

執行結果如下:

map的輸出和map裡面的內容順序沒有關係

func main() 

fmt.println("獲取map值。。。")

student2 := m1["student2"]

fmt.println(student2)

}

執行結果如下:

如果student2拼寫錯誤會輸出什麼值?

func main() 

fmt.println("獲取map值。。。")

student2 := m1["stduent2"]

fmt.println(student2)

fmt.println("...........")

}

執行結果如下:

輸出的繪製一行空串

如何判斷map裡面是否有這個key?

func main() 

fmt.println("獲取map值。。。")

stu1,ok := m1["student2"]

fmt.println(stu1,ok)

stu2,ok := m1["stduent2"]

fmt.println(stu2,ok)

}

執行結果如下:

根據上面的執行,我們可以修改**如下:

func main() 

fmt.println("獲取map值。。。")

stu1,ok := m1["student2"]

fmt.println(stu1,ok)

if stu2,ok := m1["stduent2"];okelse

}

執行結果如下:

fmt.println("刪除值")

stu1,ok := m1["student2"]

fmt.println(stu1,ok)

delete(m1,"student2")

stu2,ok := m1["student2"]

fmt.println(stu2,ok)

}執行結果如下:

go語言基礎之map

go語言中提供的對映關係容器為map,其內部使用雜湊表hash實現 map map是一種無序的基於key value的資料結構,必須初始化才能使用 package main import fmt func main fmt.println map1 判斷某乙個值是否存在 返回兩個引數,1.返回的值 ...

Go語言基礎(四) map

三 練習題 go語言中提供的對映關係容器為map,其內部使用雜湊表 hash 實現。map是一種無序的基於key value的資料結構,go語言中的map是引用型別,必須初始化才能使用。map的定義 map keytype valuetype keytype 表示鍵的型別。valuetype 表示鍵...

Go語言基礎之map

go語言中提供的對映關係容器為map,其內部使用雜湊表 hash 實現。map是一種無序的基於key value的資料結構,go語言中的map是引用型別,必須初始化才能使用。go語言中map的定義語法如下 map keytype valuetype 其中,map型別的變數預設初始值為nil,需要使用...