go语言快速入门:流程控制(7)
发布日期:2021-06-30 20:24:10
浏览次数:2
分类:技术文章
本文共 4311 字,大约阅读时间需要 14 分钟。
go语言中没有do-while,switch更加灵活,支持初始化子语句,这篇文章中将会就go的循环/分支等流程控制语句进行简单介绍。
if语句
写法和其他语言基本一致,不过多层else if的时候需要注意{要写在一行,否则通不过编译也无法进行go fmt
例子代码
[root@liumiaocn goprj]# cat basic-if.gopackage mainfunc main() { //pattarn 1 score := 75 if score < 60 { println("Grade: D") } else if score < 70 { println("Grade: C") } else if score < 80 { println("Grade: B") } else if score <= 100 { println("Grade: B") } else { println("Grade: undefined") } //pattarn 2 if score := 45; score < 60 { println("Grade: D") } else if score < 70 { println("Grade: C") } else if score < 80 { println("Grade: B") } else if score <= 100 { println("Grade: B") } else { println("Grade: undefined") }}[root@liumiaocn goprj]#
执行结果
[root@liumiaocn goprj]# go run basic-if.goGrade: BGrade: D[root@liumiaocn goprj]#
switch-case语句
例子代码
[root@liumiaocn goprj]# cat basic-switch.gopackage mainimport "fmt"func main() { //pattarn 1 weekday := "FRI" switch weekday { case "MON": fmt.Println("Monday...") case "TUE": fmt.Println("Tuesday...") case "WED": fmt.Println("Wednesday...") case "THU": fmt.Println("Thursday...") case "FRI": fmt.Println("Friday...") case "SAT": fmt.Println("Saterday...") case "SUN": fmt.Println("Sunday...") default: fmt.Println("Default branche...") } //pattarn 2 switch weekday := "SUN"; weekday { case "MON": fmt.Println("Monday...") case "TUE": fmt.Println("Tuesday...") case "WED": fmt.Println("Wednesday...") case "THU": fmt.Println("Thursday...") case "FRI": fmt.Println("Friday...") case "SAT": fmt.Println("Saterday...") case "SUN": fmt.Println("Sunday...") default: fmt.Println("Default branche...") } //pattarn 3 score := 75 switch { case score < 60: fmt.Println("Grade D...") case score <= 70: fmt.Println("Grade C...") case score <= 80: fmt.Println("Grade B...") case score <= 90: fmt.Println("Grade B...") default: fmt.Println("Default branche...") } //pattarn 4 var obj interface{} obj = "Hello World" switch obj.(type) { case int: fmt.Println("This is a int type ...") case string: fmt.Println("This is a string type...") default: fmt.Println("Default branch...") }}[root@liumiaocn goprj]#
执行结果
[root@liumiaocn goprj]# go run basic-switch.goFriday...Sunday...Grade B...This is a string type...[root@liumiaocn goprj]#
for语句
例子代码
[root@liumiaocn goprj]# cat basic-for.gopackage mainfunc main() { //pattarn 1 for level := 0; level < 10; level++ { for cnt := 0; cnt < 10-level; cnt++ { print(" ") } for ascnt := 0; ascnt < level; ascnt++ { print("*") } println("") } //pattarn 2 level := 0 for level < 10 { for cnt := 0; cnt < 10-level; cnt++ { print(" ") } for ascnt := 0; ascnt < 2*level-1; ascnt++ { print("*") } println("") level++ } //pattarn 3 /* for { println("please don try this one unless you want to test your cpu usage") } */}[root@liumiaocn goprj]#
执行结果
[root@liumiaocn goprj]# go run basic-for.go * ** *** **** ***** ****** ******* ******** ********* * *** ***** ******* ********* *********** ************* *************** *****************[root@liumiaocn goprj]#
转载地址:https://liumiaocn.blog.csdn.net/article/details/54846261 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
初次前来,多多关照!
[***.217.46.12]2024年04月26日 07时33分18秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
计算机视觉中的cost-volume的概念具体指什么(代价体积)
2019-04-30
启发函数heuristic 与 A*
2019-04-30
Image Pyramid(图像金字塔)
2019-04-30
Oracle 作业记录
2019-04-30
putty连接AWS配置(multimedia project)
2019-04-30
Hourglass Network 沙漏网络 (pose estimation姿态估计)
2019-04-30
OpenCV实战(二)——答题卡识别判卷
2019-04-30
目标检测神经网络的发展历程(52 个目标检测模型)
2019-04-30
Boundary loss 损失函数
2019-04-30
tensorflow使用tensorboard进行可视化
2019-04-30
凸优化 convex optimization
2019-04-30
数据库索引 & 为什么要对数据库建立索引 / 数据库建立索引为什么会加快查询速度
2019-04-30
IEEE与APA引用格式
2019-04-30
research gap
2019-04-30
pytorch训练cifar10数据集查看各个种类图片的准确率
2019-04-30
Python鼠标点击图片,获取点击点的像素坐标
2019-04-30