Go语言中有foreach个 struct 吗?我可以用for迭代一个切片或数组吗?

推荐答案

https://golang.org/ref/spec#For_range

带有"range"子句的"for"语句遍历所有条目 通道上接收的数组、切片、字符串或映射或值的. 对于每个条目,它将迭代值分配给相应的迭代 变量,然后执行挡路.

例如:

for index, element := range someSlice {
    // index is the index where we are
    // element is the element from someSlice for where we are
}

如果您不关心索引,可以使用_:

for _, element := range someSlice {
    // element is the element from someSlice for where we are
}

下划线_blank identifier,这是一个匿名占位符.

Go相关问答推荐

如何禁用Go SRC包中的VSCode警告?

租户GUID X的租户不存在self 邮箱帐户的租户(我是唯一的成员)

是不是有什么原因导致`Strings.EqualFold`不先进行长度比较?

Docker Compose Health Check未退出,错误为无法启动

无法使用Segentio;S Kafka-Go连接到融合的Kafka

如何在出现错误时停止从通道读取?

从带有嵌套括号的字符串中提取值

Cypher 查找(多个)最低 node

如何将Golang测试用例的测试覆盖率值与特定阈值进行比较

使用反射在Go中递归迭代 struct 体和集合字段

错误!在为 age-viewer-go 运行 wails dev 或 wails build 命令时

尽管存在 WaitGroup,Goroutines 似乎被打断了

golang 上基于标头的版本控制

在 .go 文件中运行一个函数和在 Go 模板中调用它有什么区别?

如何将具有嵌入式 struct 的 struct 展平为 json

具有相同提前返回语句的函数的不同基准测试结果

Go GCP 同时模拟两个服务帐户

出于某种原因,Golang (Go) AES CBC 密文被填充了 16 个 0x00 字节

如何在golang中使用ozzo验证进行时间最大验证

在 Go 中将十六进制转换为带符号的 Int