复合类型 - Map
定义
- 一种无序的基于key-value的数据结构,Go语言中的map是引用类型,必须初始化才能使用。
- 如果不初始化 map,那么就会创建一个nil map。nil map 不能用来存放键值对
- 一种集合,所以我们可以像迭代数组和切片那样迭代它。不过,
Map是无序的,我们无法决定它的返回顺序,这是因为 Map是使用Hash表来实现的。
声明方式
- map[KeyType]ValueType
- KeyType 键类型
- ValueType 值类型
- make(map[KeyType]ValueType, [cap])
遍历方式
操作方式
- 删除 delete(map, key)
- 判断key存在,value, ok := map[key]
var m map[string]string
m = make(map[string]string)
m["test"] = "hello"
fmt.Printf("%v \n", m)
val, ok := m["world"]
fmt.Printf("%b", ok)
if ok {
fmt.Printf("%v \n", val)
}
m["test"] = "test"
for k,v := range m {
fmt.Printf("key: %s; val: %s \n", k, v)
}
Stdout
key: hello; val: hello
key: test; val: test
delete(m, "test")
for k,v := range m {
fmt.Printf("key: %s; val: %s \n", k, v)
}
Stdout
key: hello; val: hello
参考