Maps
1.map的定义
map语法为:var a map [键值类型] value值类型
map是指在Go中将值(value)与键(key)关联的内置函数,可通过相应的键可以获取到值。map的空值是nil类型。
package main import "fmt" func main() { var a map[int]string fmt.Println(a) # 如果只是初始化不赋值,那么map便是nil类型 if a==nil{ fmt.Println("xxxx") # 打印结果>>>:xxxx } }
2.map的赋值和取值
如果想添加元素到nil map中,必须使用 make 函数初始化。获取map 元素语法是 map[key]。
package main import "fmt" func main() { var a map[int]string = make(map[int]string) # 定义和初始化的第一种方式 fmt.Println(a) # >>>:map[] a[1] = "10" a[2] = "20" a[3] = "30" ------------------------------------------------ var a = map[int]string{1:"10",2:"20",3:"30"} # 定义和初始化的第二种方式 fmt.Println(a) # >>>:map[1:10 2:20 3:30] fmt.Println(a[4]) # 如果取一个不存在的key值,返回的value是一个空值。 }
3.删除元素
删除 map 中 key的语法是:delete(map, key)。这个函数没有返回值。
package main import "fmt" func main() { var a = map[int]string{1:"10",2:"20",3:"30"} delete(a, 2) fmt.Println(a) # >>>:map[1:10 3:30] ,key为2的值被删除。 }