gpt4 book ai didi

map - Go 有迭代器数据类型吗?

转载 作者:IT王子 更新时间:2023-10-29 00:50:40 26 4
gpt4 key购买 nike

我如何编写可以在 C++ 中执行类似于 map 迭代器的 Go 代码?

typedef std::map<std::string, MyStruct> MyMap;
MyMap::iterator it = myMap.find("key");
if(it!=myMap.end()) {
it->v1 = something;
it->v2 = something;
}

最佳答案

在 go 中,使用 range 子句遍历 map 非常容易。

myMap := map[string]int {"one":1, "two":2}

for key, value := range myMap {
// Do something.
fmt.Println(key, value)
}

可以打印

one 1
two 2

请注意,您在 map 上以未定义的顺序迭代,因为它由哈希表而不是树支持。

去吧language spec描述了 range 子句返回的内容,你可以看到 effective go更多示例的页面。

关于map - Go 有迭代器数据类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7291672/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com