Go-Map

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 的键必须是可比较的类型,如整数、字符串等。slicemapfunction 不能作为键。
  • 随机遍历顺序:遍历 map 时,键的顺序是随机的。

总结

  • Map 是一种键值对的集合,用于快速查找值。
  • 可以通过 map[key] 访问或修改元素,通过 delete() 删除键值对,并且通过 len() 获取键值对的数量。
  • 通过 range 可以方便地遍历 map 中的所有键值对。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

悟生啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值