go for range 遍歷

 for range 中會爲 i,v 申請各申請一塊內存地址存儲臨時變量,遍歷的時候後面的值會覆蓋前面的
例子:
package main

import (
    "fmt"
)


func main() {
    m := make(map[int]int)
    sliceList := []int{1,2,3,4}
    // for range 中會爲 i,v 申請各申請一塊內存地址存儲臨時變量,遍歷的時候後面的值會覆蓋前面的
    for i,v:= range sliceList{

        fmt.Printf("i %p \n",&i)
        fmt.Printf("k %p \n",&v)
        m[*(&i)]=*(&v)
    }

    for k, v := range m {
        fmt.Println(k, ":", v)
    }

}

 

執行結果:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章