golang的hashmap怎么扩容


当前第2页 返回上一页

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

m := map[string]int

m["a"] = 1

fmt.Println(m["a"]) // 输出 1

// 如果访问一个不存在的key,返回类型默认值

fmt.Println(m["b"]) // 输出0

// 测试key是否存在

v, ok := m["b"]

if ok {

    ...

}

// 删除一个key

delete(m, "a")

迭代器

// 只迭代key

for k := range m {

    ...

}

// 同时迭代key-value

for k, v := range m {

    ...

}

在迭代的过程中是可以对map进行删除和更新操作的,规则如下:

迭代是无序的,跟插入是的顺序无关

迭代的过程中删除一个key,无论遍历还是没有遍历过都不会再遍历到

迭代的过程中添加一个key,不确定是否能遍历到

未初始化的map也可以迭代

其他

map的value是不可取地址的,意味着 &m["a"]这样的语法是非法的

len和cap分别可以获取当前map的kv个数和总容量

以上就是golang的hashmap怎么扩容的详细内容,更多文章请关注木庄网络博客!!

返回前面的内容

相关阅读 >>

golang和nodejs的区别是什么?

golang有指针吗

golang判断map中key不存在的方法

golang map需要make吗

go语言开篇

golang之sync.pool对象池对象重用机制总结

golang】make和new区别,append

golang chan是否关闭

手撸golang 行为型设计模式 观察者模式

go cassandra 示例 1

更多相关阅读请进入《golang》频道 >>




打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...