1. 程式人生 > >golang---map類型

golang---map類型

線性 int range fun pac map類型 語言 獲取 ack

map

  • 類似其它語言中的哈希表或字典,以key-value形式存儲數據
  • key必須是支持==或!=比較運算的類型,不可以是函數、map或slice
  • Map查找比線性搜索快很多,但比使用索引訪問數據的類型慢100倍
  • Map使用make()創建,支持:=這種簡寫方式

  • make([keyType]valueType,cap),cap表示容量,可省略
  • 超出容量時會自動擴容,但盡量提供一個合理的初始值
  • 使用len()獲取元素個數
  • 鍵值對不存在時自動添加,使用delete()刪除某鍵值對
  • 使用for range對map和slice進行叠代

定義map的方法

package main
import (
    "fmt"
)

func main() {
    // var m map[int]string
    // m = map[int]string{}
    // m = make(map[int]string)
    // var m map[int]string = make(map[int]string)
    m := make(map[int]string)
    fmt.Println(m)
}

golang---map類型