Go学习笔记二(判断语句)

作者: Jabir_Zhang | 来源:发表于2019-07-10 23:29 被阅读1次

    循环

    Go 语⾔仅支持循环关键字 for

    for  i:= 0; i <= 10; i++ 
    

    while 条件循环(while (n<5))

    n := 0
    for n < 5 {
      n++
      fmt.Println(n)
    }
    

    if 条件

    用法还是比较常规

    if condition { 
       // code to be executed if condition is true
    } else {
      // code to be executed if condition is false
    }
    
    if condition-1 {
      // code to be executed if condition-1 is true
    } else if condition-2 {
      // code to be executed if condition-2 is true
    } else {
      // code to be executed if both condition1 and condition2 are false
    {
     
    

    if与其他主要编程语⾔的差异

    1. condition 表达式结果必须为布尔值
    2. ⽀持变量赋值:
    if  var declaration;  condition {
       // code to be executed if condition is true
    }
    
    //可以先赋值,在判断条件
    if i := 10; i > 0 {
       fmt.Println(n)
    }
    

    switch 条件

    case后面不限制为常量或者整数,如下面代码可以为字符串

    switch os := runtime.GOOS; os {
    case "darwin":
      fmt.Println("OS X.”)
    case "linux":
        fmt.Println("Linux.")
    default:
        fmt.Printf("%s.", os)
    }
    

    go语言中的case不用break来退出,多个条件相同操作的话在一个case中用逗号隔开。

    switch i {
        case 0:
            fmt.Printf("0")
        case 1:
            fmt.Printf("1")
        case 2:
            fallthrough
        case 3:
            fmt.Printf("3")
        case 4, 5, 6://多个条件用,隔开
            fmt.Printf("4, 5, 6")
        default:
            fmt.Printf("0")
    }
    

    switch也可以类似if语句的用法

    switch {
    case 0 <= Num && Num <= 3:
    fmt.Printf("0-3")
    case 4 <= Num && Num <= 6:
    fmt.Printf("4-6")
    case 7 <= Num && Num <= 9:
    fmt.Printf("7-9")
    }
    

    switch与其他主要编程语⾔言的差异

    1. 条件表达式不限制为常量或者整数;
    2. 单个 case 中,可以出现多个结果选项, 使用逗号分隔;
    3. 与 C 语言等规则相反,Go 语⾔不需要用break来明确退出一个 case;
    4. 可以不设定 switch 之后的条件表达式,在此种情况下,整个 switch 结构与多个 if...else... 的逻辑作用等同

    相关文章

      网友评论

        本文标题:Go学习笔记二(判断语句)

        本文链接:https://www.haomeiwen.com/subject/bsclkctx.html