继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

Go语言中的控制语句

holdtom
关注TA
已关注
手记 1845
粉丝 240
获赞 991

// code_004_process_control project main.go

package main

import (

    "fmt"

    "time"

)

func main() {

    //if语句

    if a := 3; a > 3 {

        fmt.Println("a >3")

    } else if a == 3 {

        fmt.Println("a==3")

    } else {

        fmt.Println("error")

    }

    fmt.Println("\n============\n")

    //switch语句1

    switch score := 90; score {

    case 80, 90, 100:

        fmt.Println("优秀")

    case 50, 60, 70:

        fmt.Println("及格")

    default:

        fmt.Println("差")

    }

    //switch语句2

    var score int = 90

    switch score {

    case 80, 90, 100:

        fmt.Println("优秀")

    case 50, 60, 70:

        fmt.Println("及格")

    default:

        fmt.Println("差")

    }

    //switch语句3

    switch s3 := 90; {

    case s3 >= 90:

        fmt.Println("优秀")

    case s3 >= 80:

        fmt.Println("良好")

    default:

        fmt.Println("一般")

    }

    fmt.Println("\n============\n")

    //最简单的无限循环

    for {

        time.Sleep(3 * time.Second)

        fmt.Println("for循环结束")

        break

    } //相当于python中while True: java中的for(;;){}

    //for循环

    var i, sum int

    for i = 1; i <= 100; i++ {

        fmt.Printf("i=%d\n", i) //Printf()格式化输出,Println()无法格式化

        sum += i

    }

    fmt.Println("sum =", sum)

    //for ... range...

    s := "abc"

    for i := range s { //支持str/array/slice/map--->>只能获取到index的值

        fmt.Printf("%c\n", s[i])

    }

    for _, c := range s { //忽略index

        fmt.Printf("%c\n", c)

    }

    for i, c := range s {

        fmt.Printf("第%d个值为:%c\n", i, c)

    }

    //for ... break 或者continue

    for i := 0; i < 5; i++ {

        if i == 2 {

            fmt.Printf("i== 2时 跳出本次循环")

            break

        }

        fmt.Println(i)

    }

    for i := 0; i < 5; i++ {

        if 2 == i {

            fmt.Println("哈哈,你看不到我,你真2")

            continue

        }

        fmt.Println(i)

    } //备注:break 可以用for、switch、select,而continue仅能用于for循环

    //goto,用goto跳转到必须在当前函数内定义的标签:

    fmt.Println("\n============\n")

    for i := 0; i < 5; i++ {

        for {

            fmt.Println(i)

            goto LABEL //跳转到标签LABEL,从标签处,执行代码

        }

    }

    fmt.Println("Let's see goto LABEL!!!")

LABEL:

    fmt.Println("it is over")

}

©著作权归作者所有:来自51CTO博客作者ck_god的原创作品,如需转载,请注明出处,否则将追究法律责任


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP