zoukankan      html  css  js  c++  java
  • GO基础之流程控制语句

    一、if分支语句

    if 布尔表达式 1 {
       /* 在布尔表达式 1 为 true 时执行 */
    }
    if a := 2; a%2 == 0 {
       fmt.Println("偶数")
    }
     if 布尔表达式 1 {
        /* 在布尔表达式 1 为 true 时执行 */
     }else{
      /* todo else */
    }
        if a := 2; a%2 == 0 {
            fmt.Println("偶数")
        } else {
            fmt.Println("奇数")
        }
    if 布尔表达式 1 {
          /* 在布尔表达式 1 为 true 时执行 */
     }else if 布尔表达式 2{

      /* 在布尔表达式 1 为 true 时执行 */
    }else{  /* todo else */  }
    func main() {
        var b = 70
        if b >= 90 {
            fmt.Println("优秀")
        } else if b >= 80 {
            fmt.Println("良好")
        } else {
            fmt.Println("及格")
        }
    }

     二、for循环语句

    func main() {
        //=======格式1===========
        for i := 0; i < 10; i++ {
            fmt.Println("i=", i)
        }
        //=======格式2===========
        a := 2
        for ; a < 5; a++ {
            fmt.Println("a=", a)
        }
        //=======格式3(死循环)====
        b := 10
        for {
            if b == 5 {
                break
            }
            b--
            fmt.Println("b=", b)
        }
    
    }

    break 语句用于在完成正常执行之前,突然终止 for 循环。

    func main() {
        //=======格式1===========
        for i := 0; i < 10; i++ {
            if i >= 5 {
                break
            }
            fmt.Println("i=", i)
        }
    }
    输出:i= 0;i= 1;i= 2;i= 3;i= 4

    continue 语句用来跳出 for 循环中当前循环。在 continue 语句后的所有的 for 循环语句都不会在本次循环中执行。循环体会在一下次循环中继续执行

    func main() {
        for i := 0; i < 5; i++ {
            if i == 3 {
                continue
            }
            fmt.Println("i=", i)
        }
    }
    输出:i= 0;i= 1;i= 2;i= 4


    goto 语句类似 continue  终止当前循环,进入指定的位置(Loop)继续运行
    func main() {
        num := 0
    Loop:
        for num < 5 {
            num++
            if num%4 == 0 {
                goto Loop
            }
            fmt.Println("i=", num)
        }
    }

    三、swich分支语句

     go语言中的switch语句默认每个case 都有break,这与java语言略有不同

    func main() {
        //=========== 格式一 ===========
        switch finger := 3; finger {
        case 1:
            fmt.Println("1")
        case 2:
            fmt.Println("2")
        case 3:
            fmt.Println("3")
        default:
            fmt.Println("0")
        }
        //===========case后可以多个条件===========
        letter := "i"
        switch letter {
        case "a", "e", "i", "o", "u": // 一个选项多个表达式
            fmt.Println("hello")
        default:
            fmt.Println("word")
        }
        //在 switch 语句中,表达式是可选的,可以被省略。如果省略表达式,则表示这个 switch 语句等同于 switch true
        num := 75
        switch { // 表达式被省略了
        case num >= 0 && num <= 50:
            fmt.Println("num is greater than 0 and less than 50")
        case num >= 51 && num <= 100:
            fmt.Println("num is greater than 51 and less than 100")
        case num >= 101:
            fmt.Println("num is greater than 100")
        }
    }

    fallthrough语句:在 Go 中,每执行完一个 case 后,会从 switch 语句中跳出来,不再做后续 case 的判断和执行。使用 fallthrough 语句可以在已经执行完成的 case 之后,把控制权转移到下一个 case 的执行代码中。类似于java 中case之后不写break

     

    func main() {
        //=========== 格式一 ===========
        switch finger := 3; finger {
        case 1:
            fmt.Println("1")
        case 2:
            fmt.Println("2")
        case 3:
            fmt.Println("3")
            fallthrough
        default:
            fmt.Println("0")
        }
    }
  • 相关阅读:
    将Color的格式转变成颜色值
    F# 学习笔记 1 基础学习
    GridView 72般绝技
    前台直接读取Web.config中的值的方法
    根据属性名称 获取对象的属性值
    字符集与字符编码简介(转)
    一个WinForm程序配置信息的简单模型和维护工具——设计说明
    扩展DLL调用扩展DLL的LINK2001错误的解决办法之一
    CProfile : 读写私有INI配置文件
    日记:如何在MFC中使用Winsock2
  • 原文地址:https://www.cnblogs.com/jalja/p/11756359.html
Copyright © 2011-2022 走看看