map数据类型
-
形式如 map[keyType]valueType 类型的数据
-
定义
//直接定义
m2 := map[int]string{1: "hello", 2: "world"}
fmt.Println("m2 = ", m2)
//使用make函数定义
m1 := make(map[int]string)
m1[1] = "hello"
m1[2] = "world"
fmt.Println("m1 = ", m1)
-
遍历map以及判断值是否存在
//map 遍历出来的值是无序的
m2 := map[int]string{1: "hello", 2: "world"}
for key, value := range m2 {
fmt.Printf("%d ===> %s
", key, value)
}
//判断一个值是否存在 value,err = map[key]
values, err := m2[1]
if err == true {
fmt.Println("m2[1] = ", values)
} else {
fmt.Println("值不存在")
}
-
删除键值 delete(map,key)
m2 := map[int]string{1: "hello", 2: "world"}
delete(m2, 1)
fmt.Println("m2 = ", m2)
-
map属于指针变量(函数传递属于引用传递)
package main
import (
"fmt"
)
func test(m map[int]string) {
delete(m, 1)
}
func main() {
m2 := map[int]string{1: "hello", 2: "world"}
test(m2)
fmt.Println("m2 = ", m2) //输出 m2 = map[2:world]
}