Golang Maps(映射)

1 Apr 2025 | 2 分钟阅读

在 Go 中,Maps 是键及其关联值的无序集合。 它们非常适合快速查找值。 键类型必须定义 == 和 != 运算,例如字符串、int、float。

因此,数组、切片和结构体不能用作键类型,但指针和接口类型可以。

当提供 Key() 或 Hash() 方法时,结构体可以用作键,以便可以从结构体的字段计算出唯一的数字或字符串键。

map 是一种引用类型,通常声明为

例如:

Go Map 示例

输出

map[John:37 Raj:20 Kate:28]
 20

Go Map 插入和更新操作

在 Go Map 中,更新和插入操作类似。 如果 map 不包含提供的键,则会执行插入操作;如果键存在于 map 中,则执行更新操作。

输出

map[]
map[Key3:30 Key1:10 Key2:20]
map[Key1:10 Key2:555 Key3:30]

Go Map 删除操作

您可以使用 delete() 函数删除 Go Map 中的元素。

语法

示例

输出

map[Key1:10 Key2:20 Key3:30]
map[Key2:20 Key1:10]

Go Map 检索元素

语法

示例

输出

map[Key1:10 Key2:20 Key3:30]
The value: 20

我们还可以使用两个值的示例来测试键是否存在于表中

语法

如果键不存在,则 elem 的值是元素类型的默认值。

如果 elem 的类型是 int,则 elem 的值为零。

输出

map[Key1:10 Key2:20 Key3:30]
The value: 20 Present? true
The value: 0 Present? false

在 Go 中,Maps 类似于结构体,但它需要键

Go Struct 的 Map

输出

map[JavaTpoint:{40.68433 -74.39967} SSS-IT:{37.42202 -122.08408}]
 
下一主题Go 错误处理