for range构造在许多情况下都很有用。它可用于遍历集合中的每个项目。它类似于其他语言中的foreach。但是, 在范围构造的每次迭代中, 我们仍然具有索引。
句法:
for ix, val := range coll { }
去范围示例
import "fmt"
func main() {
nums := []int{2, 3, 4}
sum := 0
for _, value := range nums {// "_ " is to ignore the index
sum += value
}
fmt.Println("sum:", sum)
for i, num := range nums {
if num == 3 {
fmt.Println("index:", I)
}
}
kvs := map[string]string{"1":"mango", "2":"apple", "3":"banana"}
for k, v := range kvs {
fmt.Printf("%s -> %s\n", k, v)
}
for k := range kvs {
fmt.Println("key:", k)
}
for i, c := range "Hi" {
fmt.Println(i, c)
}
}
输出:
sum: 60
1 -> mango
2 -> apple
3 -> banana
key: 1
key: 2
key: 3
0 72
1 105