Golang-map
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。