Golang: for range


for range 遍歷規律

字符串、數組、切片,返回下標、值

map返回key、val

channel只返回通道內的值

舉例

func ForArrayTest() {
    fmt.Println("for range: str")
    str := "hello"
    for key, val := range str {
        fmt.Println(key, val)
    }

    fmt.Println("for range: array")
    array := [3]int {1,2,3}
    for key, val := range array {
        fmt.Println(key, val)
    }

    fmt.Println("for range: slice")
    slice := []int {1,2,3}
    for key, val := range slice {
        fmt.Println(key, val)
    }

    fmt.Println("for range: map")
    provinceCapital := make(map[string]string)
    provinceCapital["山東"] = "濟南"
    provinceCapital["河北"] = "石家庄"
    provinceCapital["廣東"] = "廣州"
    for key, val := range provinceCapital {
        fmt.Println(key, val)
    }

    fmt.Println("for range: chan")
    cha1 := make(chan int, 3)
    cha1  <- 1
    cha1  <- 2
    cha1  <- 3
    //cha1  <- 4
    for val := range cha1 {
        fmt.Println(val)
    }
}

輸出

for range: str
0 104
1 101
2 108
3 108
4 111
for range: array
0 1
1 2
2 3
for range: slice
0 1
1 2
2 3
for range: map
山東 濟南
河北 石家庄
廣東 廣州
for range: chan
1
2
3
fatal error: all goroutines are asleep - deadlock!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM