zoukankan      html  css  js  c++  java
  • 初识Go(2)

    1.if
    Go 的 if 还有一个强大的地方就是条件判断语句里面允许声明一个变量,这个变量的作用域
    只能在该条件逻辑块内,其他地方就不起作用了,如下所示
    // 计算获取值 x,然后根据 x 返回的大小,判断是否大于 10。
    if x := computedValue();x > 10 {
    fmt.Println("x is greater than 10")
    } else {
    fmt.Println("x is less than 10")
    }
    
    多个条件的时候如下所示:
    if integer == 3 {
    fmt.Println("The integer is equal to 3")
    } else if integer < 3 {
    fmt.Println("The integer is less than 3")
    } else {
    fmt.Println("The integer is greater than 3")
    }
    
    2.for
    for index:=0; index < 10 ; index++ {
    sum += index
    }
    
    sum := 1
    for sum < 1000 {
    sum += sum
    }  // while
    
    for 配合 range 可以用于读取 slice 和 map 的数据:
    for k,v:=range map {
    fmt.Println("map's key:",k)
    fmt.Println("map's val:",v)
    }
    
    由于 Go 支持“多值返回”, 而对于“声明而未被调用”的变量, 编译器会报错, 在这种情况下, 
    可以使用_来丢弃不需要的返回值 例如
    for _, v := range map{
    fmt.Println("map's val:", v)
    }
    
    3.switch
    i := 10
    switch i {
    case 1:
    fmt.Println("i is equal to 1")
    case 2, 3, 4:
    fmt.Println("i is equal to 2, 3 or 4")
    case 10:
    fmt.Println("i is equal to 10")
    default:
    fmt.Println("All I know is that i is an integer")
    }
    
    同时,Go 里面 switch 默认相当于每
    个 case 最后带有 break,匹配成功后不会自动向下执行其他 case,而是跳出整个 switch, 
    但是可以使用 fallthrough 强制执行后面的 case 代码。
    

      

  • 相关阅读:
    Java实现文件夹下文件实时监控
    JAVA读取文件夹大小
    Java获取Linux上指定文件夹下所有第一级子文件夹
    自定义日志框架实现
    Node爬取简书首页文章
    NodeJS多进程
    NodeJS 连接接MySQL
    NodeJS Web模块
    NodeJS 模块&函数
    NodeJS Stream流
  • 原文地址:https://www.cnblogs.com/huangxiaohen/p/4180453.html
Copyright © 2011-2022 走看看