Map
map 是 Go 语言中一种内置的数据类型,用来存储键值对。map 的键可以是任何支持 == 和 != 操作符的类型,而值可以是任何类型。map 通过键快速查找对应的值,因此非常适合用作字典或关联数组。
Map 可以进行的操作
- 添加键值对:通过
map[key] = value语法添加或更新键值对。 - 访问元素:通过
map[key]语法访问键对应的值。 - 删除键值对:使用
delete(map, key)从map中删除指定键值对。 - 检查键是否存在:通过双重赋值来检查键是否存在,如
value, ok := map[key]。 - 获取
map的长度:使用len()获取map中键值对的数量。 - 遍历
map:使用for range语句遍历map的所有键值对。
示例代码
// 定义一个 map
m := make(map[string]int)
// 添加键值对
m["apple"] = 5
m["banana"] = 3
// 访问元素
appleCount := m["apple"] // 结果为 5
// 删除键值对
delete(m, "banana") // 删除键 "banana"
// 检查键是否存在
value, ok := m["banana"] // ok 为 false,表示键 "banana" 不存在
// 获取 map 的长度
length := len(m) // 结果为 1
// 遍历 map
for key, value := range m {
fmt.Printf("Key: %s, Value: %d\n", key, value)
}
特别注意
- 键不存在时的访问:如果访问
map中不存在的键,返回的是该值类型的零值。例如,访问map[string]int中不存在的键时会返回0。 - 键的类型要求:
map的键必须是可比较的类型,如整数、字符串等。slice、map和function不能作为键。 - 随机遍历顺序:遍历
map时,键的顺序是随机的。
总结
- Map 是一种键值对的集合,用于快速查找值。
- 可以通过
map[key]访问或修改元素,通过delete()删除键值对,并且通过len()获取键值对的数量。 - 通过
range可以方便地遍历map中的所有键值对。
548

被折叠的 条评论
为什么被折叠?



