map和其他语言的hashmap是一样的,是一个kv的数据集合,是按照哈希算法得到k的一个整数,将v存到一个数组的k位。
- 1 package main
- 2
- 3 import (
- 4 "fmt"
- 5 )
- 6
- 7 func main() {
- 8
- 9 map1 := make(map[int]string)
- 10 map1[5] = "hello"
- 11 map1[7] = "world"
- 12 map1[9] = "!"
- 13
- 14 fmt.Println(map1[5])
- 15
- 16 fmt.Println(map1[9])
- 17
- 18 v, ok := map1[6]
- 19
- 20 if !ok {
- 21 fmt.Println("this key is not exists", v)
- 22 }
- 23
- 24 delete(map1, 5)
- 25
- 26 for k, v := range map1 {
- 27 fmt.Println(k, ":", v)
- 28 }
- 29 }
我们可以使用 map[KeyType]ValueType来定义map,首先是key的类型,之后是value的类型。
这里我们用 map1 := make(map[int]string) 定义了一个map
之后10-12行向map写入了3个 kv值。
当访问一个不存在的k的时候,返回的是value类型的0值。
我们还可以使用delete函数删除一个k。