理解 Go 中的 Map
目录
-
如何在 Ubuntu 18.04 上安装 Go 和设置本地编程环境 -
如何在 macOS 上安装 Go 和设置本地编程环境 -
如何在 Windows 10 上安装 Go 和设置本地编程环境 -
如何用 Go 编写你的第一个程序 -
理解 GOPATH -
如何在 Go 中写注释 -
理解 Go 的数据类型 -
Go 中处理字符串的介绍 -
如何在 Go 中格式化字符串 -
介绍 Go 中的 Strings 包 -
如何在 Go 中使用变量和常量 -
如何在 Go 中转换数据类型 -
如何用运算符在 Go 中做数学计算 -
了解 Go 中的布尔逻辑 -
理解 Go 中的 Map -
理解 Go 中的数组和切片 -
在 Go 中处理错误 -
在 Go 中创建自定义错误 -
在 Go 中处理恐慌 -
在 Go 中导入包
大多数现代编程语言都有_字典_或_哈希_类型的概念。这些类型通常用于以成对的方式存储数据,其中的key映射到value。
在 Go 中,_map_ 数据类型就是大多数程序员认为的字典类型。它将键映射到值,形成键值对,是 Go 中存储数据的一种有效方式。一个 map 的构造是通过使用关键字 map
,然后是方括号中的键数据类型 [ ]
,接着是值数据类型。然后将键值对放在大括号的两侧 { } 中。
map[key]value{}
通常在 Go 中使用 map 来保存相关数据,例如 ID 中包含的信息。一个有数据的 map 看起来像这样。
map[string]string{
"name": "Sammy", "animal": "shark", "color": "blue", "location": "ocean"}
除了大括号外,整个 map 中还有冒号连接键值对。冒号左边的字是键。键值可以是 Go 中可比较的类型,如 strings
、ints
等。
示例 map 中的键是:
-
"name"
-
"animal"
-
"color"
-
"location"
冒号右边的字是值,值可以是任何数据类型。示例 map 中的值是:
-
"Sammy"
-
"shark"
-
"blue"
-
"ocean"
像其他数据类型一样,你可以将 map 存储在一个变量内,并将其打印出来:
sammy := map[string]string{
"name": "Sammy", "animal": "shark", "color": "blue", "location": "ocean"}
fmt.Println(sammy)
输出为:
Output
map[animal:shark color:blue location:ocean name:Sammy]
键值对的顺序可能发生了变化。在 Go 中,map 数据类型是无序的。无论顺序如何,键值对将保持不变,你能够根据键值关系来访问数据。
获取 map 元素
你可以通过引用相关的键来获取一个 map 的值。由于 map 提供了存储数据的键值对,它们可以成为你的 Go 程序中重要而有用的东西。
如果你想获取 Sammy 的用户名,你可以通过调用 sammy["name"]
来实现;持有你的 map 和相关键的变量。我们把它打印出来: