Golang中range关键词用于for循环中迭代数组、切片、通道或者集合的元素。在数组和切片中,它返回元素的索引和索引对应的值,在集合中返回key-value对

实例

  1. package main
  2. import "fmt"
  3. func main() {
  4. nums := []int {2, 3, 4}
  5. sum := 0
  6. for _, num := range nums {
  7. sum += num
  8. }
  9. fmt.Println("sum:", sum)
  10. for i, num := range nums {
  11. if num == 3 {
  12. fmt.Println("index:", i)
  13. }
  14. }
  15. // 便利map的键值对
  16. kvs := map[string]string {"a": "apple", "b": "banana"}
  17. for k,v := range kvs {
  18. fmt.Printf("%s -> %s\n", k, v)
  19. }
  20. // 枚举unicode字符串的unicode值
  21. for i, c := range "go" {
  22. fmt.Println(i, c)
  23. }
  24. }

运行结果

  1. sum: 9
  2. index: 1
  3. a -> apple
  4. b -> banana
  5. 0 103
  6. 1 111