Go语言基础、实战 -- 3. 条件和循环语句

一、条件

        Go语言中提供了if-else的条件判断

    1. 语法

        if-else语句基本语法为:

if condition {
    ...
} else if condition2 {
    ...
} else {
    ...
}

    2. 变体

        Go语言允许我们在 if 后面再执行一个语句,然后再做判断,语法为:if statement ; condition {}

        上面的语法意思是,先执行statement,再判断condition,实例如下:

if num:=10; num >= 10 {            //先声明num变量并初始化为10;再判断条件
    fmt.Println("num >= 10")       //num的作用域仅限于这个if-else语句中
} else {
    fmt.Println("num < 10")
}

二、循环语句

        for循环是Go语言中唯一的循环语句,Go并不支持 while 和 do while

    1. 语法

        语法为:for statement ; condition ; post {...}      如下:

for i:=1; i<=5; i++ {
    fmt.Printf("[Count = %d]\n", i)
}

    2. 终止循环

        用break跳出循环

    3. 跳出本次循环

        用continue跳过本次循环

    4. 无限循环

        在for后面不写任何东西,直接跟循环体,可以无限循环,如下:

func main() {
    count := 1
    for {                                    //如果不强制停止程序,这个循环会一直执行
        fmt.Printf("[Count = %d]\n", count)
        count++
        time.Sleep(1*time.Second)
    }
}

    5. range

        range关键字可以用来在for循环中遍历数组、切片、map等, 这里先让它露个脸,后面讲到切片、map的时候再细说。

三、switch语句

    1. 标准用法

        Go中的 switch-case 语句不需要写break,执行完一条case后的语句后就默认退出了

func main() {
    dayOfWeek := 2
    switch dayOfWeek {
    case 1:
        fmt.Println("[It's Mondy]")
    case 2:
        fmt.Println("[It's Tuesday]")
    case 3:
        fmt.Println("[It's Wednesday]")
    case 4:
        fmt.Println("[It's Thursday]")
    case 5:
        fmt.Println("[It's Friday]")
    case 6:
        fmt.Println("[It's Saturday]")
    case 0:
        fmt.Println("[It's Sunday]")
    default:
        fmt.Println("[Error]")
    }
}

    2. case — 多个表达式

        case 后面可以写上多个表达式,如下:

func main() {
    dayOfWeek := 2
    switch dayOfWeek {
    case 1, 2, 3, 4, 5 :
        fmt.Println("[It's Working Day]")
    case 6, 0:
        fmt.Println("[It's Weekend]")
    default:
        fmt.Println("[Error]")
    }
}

    3. switch — 没有表达式

        switch后面可以不写表达式,如下:

func main() {
    dayOfWeek := 2
    switch {
    case dayOfWeek >= 1 && dayOfWeek <= 5 :
        fmt.Println("[It's Working Day]")
    case dayOfWeek == 0 || dayOfWeek == 6:
        fmt.Println("[It's Weekend]")
    default:
        fmt.Println("[Error]")
    }
}

    4. fallthrough — 继续执行

        顾名思义,fallthrough的作用是让 switch-case 在执行一个case后的语句之后,继续执行,它有以下规则:

            -- fallthrough必须写在case语句中的最后一行

            -- 仅仅会执行下面一个case,而不是全部执行

            -- 不会判断下面一个case的condition条件,直接执行

发布了16 篇原创文章 · 获赞 15 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/zhounixing/article/details/103263501