代码演示
package main
import "fmt"
func main() {
m := make(map[string]int)
m["k1"] = 7
m["k2"] = 13
fmt.Println("map:", m)
v1 := m["k1"]
fmt.Println("v1:", v1)
fmt.Println("len:", len(m))
delete(m, "k2")
fmt.Println("map:", m)
_, prs := m["k2"]
fmt.Println("prs:", prs)
n := map[string]int{"foo": 1, "bar": 2}
fmt.Println("map", n)
}
代码运行结果
map: map[k1:7 k2:13]
v1: 7
len: 2
map: map[k1:7]
prs: false
map map[foo:1 bar:2]
代码解读:
- maps是go语言内置的数据类型,也有叫字典或者映射的
- 使用make(map[key-type]val-type)的方式创建一个空字典
- 设置键值对的话,采用name[key] = value的方式
- 用fmt.Println的方式可以打印出字典里面所有的键值对
- 用name[key]来获取一个值
- 用内置的方法len可以返回键值对的数量,也就是字典的长度
- 用内置的方法delete可以从字典里删除一个键值对
- 第二个返回值,可以返回这个键是否在这么字典中,这可以用来消除键不存在或者有零值的歧义,当不需要第一个返回值时候,可以用空白符”_”来表示
- 也可以在一行声明并且初始化完成一个字典,例如”n := map[string]int{"foo": 1, "bar": 2}“