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!
  • 相关阅读:
    mysql授权GRANT ALL PRIVILEGES
    MySQL修改root密码的多种方法
    javaagent
    JavaAgent 应用(spring-loaded 热部署)
    JavaAgent入门
    java运行jar命令提示没有主清单属性
    连接到 redis 服务
    PHP中的socket TCP编程
    Memcached 与 Redis 区别
    rc.local配置
  • 原文地址:https://www.cnblogs.com/kaituorensheng/p/12681620.html
Copyright © 2011-2022 走看看