Go 使用映射,数组和切片是可通过索引值访问的元素集合,而映射是通过键来访问的无序元素编组。大多数编程语言都支持数组;在其他编程语言中,映射也被称为关联数组、字典或散列。映射在信息查找方面的效率非常高,因为可直接通过键来检索数据。简单地说,映射可视为键-值对集合。
只需一行代码就可声明并创建一个空映射。
var players = make(map[string]int)
对这行代码解读如下:
- 关键字var声明一个名为players的变量。
- 在等号右边,使用Go语言内置函数make创建了一个映射,其键的类型为字符串,而值的类型为整数。
- 将这个空映射赋给了变量players。
现在可在这个空映射中添加键-值对了。
players["coolcou"] = 32
players["bairstow"] = 27
players["stokes"] = 26
变量名后面的方括号内为键,而等号右边是要赋给键的整数值。
要打印映射中特定键对应的值,可使用这个键来获取相应的值。
fmt.Println(players["coolcou"])
fmt.Println(players["stokes"])
与数组和切片一样,要打印映射中所有的键-值对,可使用变量名本身。
fmt.Println(players)
map[coolcou:32 bairstow:27 stokes:26]
如下程序演示了如何声明和创建映射以及如何在映射中添加元素。
package main
import (
"fmt"
)
func main() {
var players = make(map[string]int)
players["coolcou"] = 32
players["bairstow"] = 27
players["stokes"] = 26
fmt.Println(players["coolcou"])
fmt.Println(players["bairstow"])
}
运行如下:
可在映射中动态地添加元素,而无须调整映射的长度。这是Go语言更像Ruby和Python等动态语言,而不像C语言的方面之一。
从映射中删除元素
要从映射中删除元素,可使用内置函数delete。
delete(players, "coolcou")
要从映射中删除键-值对,可将映射和键作为参数传递给函数delete。在如下程序中,从映射中删除了键为coolcou的元素。
package main
import (
"fmt"
)
func main() {
var players = make(map[string]int)
players["coolcou"] = 32
players["bairstow"] = 27
players["stokes"] = 26
delete(players, "coolcou")
fmt.Println(players)
}
运行如下:
酷客教程相关文章:
评论前必须登录!
注册