2022年2月9日 星期三

Go lang 學習筆記 - 11 Range

 ```

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

沒有留言:

張貼留言

Go lang 學習筆記 - 17 Pointers

``` package main import "fmt" func zeroval(n int) {         n = 0 } func zeroptr(n *int) {         *n = 0 } func main() {         ...