|
map 是 Go 内建的关联数据类型 (在一些其他的语言中也被称为 哈希(hash) 或者 字典(dict) )。 |
|
![]()
package main |
|
import "fmt" |
|
func main() { |
|
|
要创建一个空 map,需要使用内建函数 |
m := make(map[string]int)
|
|
使用典型的 |
m["k1"] = 7
m["k2"] = 13
|
|
打印 map。例如,使用 |
fmt.Println("map:", m)
|
|
使用 |
v1 := m["k1"]
fmt.Println("v1: ", v1)
|
|
内建函数 |
fmt.Println("len:", len(m))
|
|
内建函数 |
delete(m, "k2")
fmt.Println("map:", m)
|
|
当从一个 map 中取值时,还有可以选择是否接收的第二个返回值,该值表明了 map 中是否存在这个键。
这可以用来消除 |
_, prs := m["k2"]
fmt.Println("prs:", prs)
|
|
你也可以通过右边的语法在一行代码中声明并初始化一个新的 map。 |
n := map[string]int{"foo": 1, "bar": 2}
fmt.Println("map:", n)
}
|
|
注意,使用 |
$ go run maps.go map: map[k1:7 k2:13] v1: 7 len: 2 map: map[k1:7] prs: false map: map[foo:1 bar:2] |
下一个例子: Range 遍历