Go 语言中是否有 foreach
构造?我可以使用 for
遍历切片或数组吗?
原文由 tatsuhirosatou 发布,翻译遵循 CC BY-SA 4.0 许可协议
Go 语言中是否有 foreach
构造?我可以使用 for
遍历切片或数组吗?
原文由 tatsuhirosatou 发布,翻译遵循 CC BY-SA 4.0 许可协议
Go 有一个类似 foreach
的语法。它支持数组/切片、映射和通道。
遍历 数组 或 切片:
// index and value
for i, v := range slice {}
// index only
for i := range slice {}
// value only
for _, v := range slice {}
遍历 地图:
// key and value
for key, value := range theMap {}
// key only
for key := range theMap {}
// value only
for _, value := range theMap {}
迭代一个 通道:
for v := range theChan {}
遍历通道等同于从通道接收直到关闭:
for {
v, ok := <-theChan
if !ok {
break
}
}
原文由 Zippo 发布,翻译遵循 CC BY-SA 4.0 许可协议
7 回答5.3k 阅读
6 回答6.8k 阅读✓ 已解决
5 回答2.2k 阅读✓ 已解决
4 回答2.3k 阅读
1 回答3.4k 阅读
2 回答2.2k 阅读
1 回答2.1k 阅读
来自 _带有范围子句的 For 语句_:
举个例子:
如果您不关心索引,可以使用
_
:下划线
_
是 空白标识符,匿名占位符。