为了账号安全,请及时绑定邮箱和手机立即绑定

Go语言中的控制语句

标签:
Go

// 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的原创作品,如需转载,请注明出处,否则将追究法律责任


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消