zoukankan      html  css  js  c++  java
  • golang流程控制

    go语言中的流程控制有两种实现方式,分别是if 和switch语句,switch语句类似于if 语句的多分支。

    if语句

    if语言需要接一个表达式且,运算的结果只能bool类型的

    func main() {
        if 0==0 {
            fmt.Println(3)
        }
    }

    if语句的其他写法

    这种在if后面先添加了一个赋值的操作,在去运算的,a的作用域,只在当前if中生效。

    func main() {
        if a := 1; a == 1 {
            fmt.Println(6)
        }
    }

     if语句多分支方式

     使用 else if 可以多分支的判断条件,但是只能有一个分支执行。

    func main() {
        a := 100
        if a == 1 {
            fmt.Println(1)
    
        } else if a == 2 {
            fmt.Println(2)
        } else {
            fmt.Println(3)
        }
    }

     switch语句

    func main() {
        a := 1
        switch {
        case a == 1:
            fmt.Println(1)
        case a == 2:
            fmt.Println(2)
        case a == 3:
            fmt.Println(3)
        }
    }
    也可以写成下面显示
    func main() {
        a := 1
        switch a {
        case 1:
            fmt.Println(1)
        case 2:
            fmt.Println(2)
        case 3:
            fmt.Println(3)
        }
    }



    switch中的default语句,

    default语句是switch语句的一个默认执行的分支,也就是说所有的case都不成立,那么就执行default

    func main() {
        a := 100
        switch a {
        case 1:
            fmt.Println(1)
        case 2:
            fmt.Println(2)
        case 3:
            fmt.Println(3)
        default:
            fmt.Println(0)
        }
    }

     switch的其他写法

    当switch没有条件的时候,默认当case的值为true的分支,执行

    func main() {
        switch {
        case true:
            fmt.Println(1)
        case false:
            fmt.Println(2)
        }
    }

    switch穿透

    fallthrough关键字用来在switch语句中,穿透case分支用的,fallthrough会直接穿透到下一个case分支执行。
    func main() {
        a := 1
        switch {
        case a == 1:
            fmt.Println(1)
            fallthrough
        case a == 2:
            fmt.Println(2)
        }
    }
  • 相关阅读:
    Spring boot返回值封装与业务异常
    Spring boot日志
    Rocket项目启动
    抉择
    C# 字符转ASCII码,ASCII码转字符 [转一下]
    xcode 学习笔记2:动态添加view
    unrecognized selector sent to instance 0x1b97e0' 问题解决记录
    xcode 学习笔记1:Interface Builder的使用
    xcode 学习笔记4:给WindowBase程序添加view
    xcode 学习笔记3:xcode目录结构
  • 原文地址:https://www.cnblogs.com/Nolover/p/12510416.html
Copyright © 2011-2022 走看看