1. 程式人生 > 實用技巧 >Golang之Map

Golang之Map

Map(集合)

  • Map 是一種無序的鍵值對的集合。Map 最重要的一點是通過 key 來快速檢索資料,key 類似於索引,指向資料的值。
  • Map 是一種集合,所以我們可以像迭代陣列和切片那樣迭代它。不過,Map 是無序的,我們無法決定它的返回順序,這是因為 Map 是使用 hash 表來實現的
  • 如果不初始化 map,那麼就會建立一個 nil map。nil map 不能用來存放鍵值對

定義Map

可以使用內建函式 make 也可以使用 map 關鍵字來定義 Map:

  • 使用map
    /* 宣告變數,預設 map 是 nil */
    var map_variable map[key_data_type]value_data_type
  • 使用make
    /* 使用 make 函式 */
    map_variable := make(map[key_data_type]value_data_type)

delete()函式

delete() 函式用於刪除集合的元素, 引數為 map 和其對應的 key。
`
package main

import "fmt"

func main() {
/* 建立map */
studentMap := map[string]string{"1": "tom", "2": "lily", "3": "normal", "4": "angle"}

    fmt.Println("學生資訊")

    /* 列印學生資訊 */
    for name:= range studentMap {
            fmt.Println(name, "學生是", studentMap[ name])
    }

    /*刪除元素*/
    delete(studentMap, "1")
    fmt.Println("tom條目被刪除")

    fmt.Println("刪除元素後學生資訊")

    /*列印學生*/
    for name:= range studentMap {
            fmt.Println(name, "學生是", studentMap[ name])
    }

}
`
執行結果時無序的