```
package main
import "fmt"
func main() {
nums := []int{2, 3, 4}
sum := 0
for idx, num := range nums {
sum += num
fmt.Println("idx, val: ", idx, num)
}
fmt.Println("sum: ", sum)
kvs := map[string]string{"a": "apple", "b": "banana"}
for k,v := range kvs {
fmt.Println("%s -> %s", k, v)
}
for k := range kvs {
fmt.Println("key: ", k)
}
for i, c := range "go" {
fmt.Println(i, c)
}
}
```
Go 裡面 Range 的用法跟 Python 的 enumerate 有點像
如果是普通的 array 會一個一個列舉而且有 index
如果是 str 的話 value 會是 unicode
執行結果:
idx, val: 0 2
idx, val: 1 3
idx, val: 2 4
sum: 9
%s -> %s a apple
%s -> %s b banana
key: a
key: b
0 103
1 111
沒有留言:
張貼留言