zoukankan      html  css  js  c++  java
  • 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!
  • 相关阅读:
    【JavaScript】函数(未完全)
    Spring集成Jersey开发(附demo)
    Tomcat中work目录的作用
    Lucene全文检索(一)
    JS放大镜特效(兼容版)
    S2SH整合
    EL表达式
    JSP和JavaBean
    Cookie和Session
    request对象和response对象
  • 原文地址:https://www.cnblogs.com/kaituorensheng/p/12681620.html
Copyright © 2011-2022 走看看