九、Go語言map

九、Go語言Map

Map 是一種無序的鍵值對的集合。Map 最重要的一點是通過 key 來快速檢索數據,key 類似于索引,指向數據的值。

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

定義Map

/* 聲明變量,默認 map 是 nil */
var map_variable map[key_data_type]value_data_type

/* 使用 make 函數 */
map_variable := make(map[key_data_type]value_data_type)

如果不初始化 map,那么就會創建一個 nil map。nil map 不能用來存放鍵值對。

package main

import "fmt"

func main() {
    var countryCapitalMap map[string]string /*創建集合 */
    countryCapitalMap = make(map[string]string)

    /* map插入key - value對,各個國家對應的首都 */
    countryCapitalMap [ "France" ] = "Paris"
    countryCapitalMap [ "Italy" ] = "羅馬"
    countryCapitalMap [ "Japan" ] = "東京"
    countryCapitalMap [ "India " ] = "新德里"

    /*使用鍵輸出地圖值 */ for country := range countryCapitalMap {
        fmt.Println(country, "首都是", countryCapitalMap [country])
    }

    /*查看元素在集合中是否存在 */
    captial, ok := countryCapitalMap [ "美國" ] /*如果確定是真實的,則存在,否則不存在 */
    /*fmt.Println(captial) */
    fmt.Println(ok) //這一行會輸出false
    if (ok) {
        fmt.Println("美國的首都是", captial)
    } else {
        fmt.Println("美國的首都不存在")
    }
}
//輸出
France 首都是 Paris
Italy 首都是 羅馬
Japan 首都是 東京
India  首都是 新德里
美國的首都不存在

使用delete()刪除鍵值對

//接著使用上面創建的map
delete(countryCapitalMap, "France") //刪除key = France的映射
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容