• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Go语言流程控制(六)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

go语言的流程控制主要有if , for和switch。

 

if else(分支结构)

go语言的if判断:

func main() {
    score:=65
    if score>=90{
        fmt.Println("A")
    }else if score>=80{
        fmt.Println("B")
    }else{
        fmt.Println("C")
    }
}

需要注意的两点:

1. 表达式不可以使用 () 

2. 起始花括号必须紧跟表达式后面,不可以另起一行

 

除此之外,if 判断写法还有另一种写法:

func main() {
    if score:=65; score>=90{
        fmt.Println("A")
    }else if score>=80{
        fmt.Println("B")
    }else{
        fmt.Println("C")
    }
  fmt.Println(score) // 报错,获取不到score }

这种写法是把变量的定义写在表达式里了,这样写的作用是把变量定义在了局部。

 

for(循环结构)

for循环结构与其他语言也差不多:

for 初始语句;条件表达式;结束语句{
    循环体语句
}

需要注意:

1. for后面不可以加 ()

2.花括号与if中的一样,不可以另起一行

 

例子:

func main() {
    for i:=0;i<10;i++{
        fmt.Println(i)
    }
}

 

for循环的初始语句可以被忽略,但是初始语句后的分号必须要写,例如:

func main() {
    i:=0
    for ;i<10;i++{
        fmt.Println(i)
    }
}

 

for循环的初始语句和结束语句都可以省略,例如:

func main() {
    i:=0
    for i<10{
        fmt.Println(i)
        i++
    }
}

 

switch case

基本用法:

func main() {
    week:=3
    switch week {
    case 0:
        fmt.Println("周日")
    case 1:
        fmt.Println("周一")
    case 2:
        fmt.Println("周二")
    case 3:
        fmt.Println("周三")
    case 4:
        fmt.Println("周四")
    case 5:
        fmt.Println("周五")
    default:
        fmt.Println("周六")
    }
}

每个switch只能有一个default

 

一个分支可以有多个值,多个case值中间使用英文逗号分隔:

func main() {
    num:=1
    switch num {
    case 1,3,5,7,9:
        fmt.Println("这是奇数")
    case 2,4,6,8,0:
        fmt.Println("这是偶数")
    default:
        fmt.Println(num)
    }
}

 

也可以把赋值放在switch里:

func main() {
    switch num:=1; num {
    case 1,3,5,7,9:
        fmt.Println("这是奇数")
    case 2,4,6,8,0:
        fmt.Println("这是偶数")
    default:
        fmt.Println(num)
    }
}

 

分支还可以使用表达式,这时候switch语句后面不需要再跟判断变量。例如:

func main() {
    score:=90
    switch  {
    case score>=90:
        fmt.Println("优秀")
    case score>=80:
        fmt.Println("良好")
    case score>=60:
        fmt.Println("及格")
    }
}

 

fallthrough 可以执行满足条件的case的下一个case:

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

如上,不加 fallthrough 只打印 1,加上 fallthrough 打印 1 和 2


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
4.Go语言—值类型和引用类型发布时间:2022-07-10
下一篇:
模拟窗口售票(Go语言实现)发布时间:2022-07-10
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap