(十三)golang--程序流程控制
2024-08-27 20:12:52
1.顺序控制
若没有判断,没有跳转,程序由上至下依次执行
2.分支控制
- 单分支
if 条件表达式 {
执行代码块
} - 双分支
if 条件表达式 {
执行代码块1
} else {
执行代码块2
} - 多分支
if 条件表达式 {
执行代码块1
} else if {
执行代码块2
} else {
执行代码块3
}
- switch语句用于基于不同条件执行不同动作,每一个case分支都是唯一的,从上到下逐一测试,直到匹配为止;
- 匹配项后面不需要加break;
- swith使用细节:
- case后面是一个表达式(即:常量值、变量、一个有返回值的函数)
- case后的各表达式的值的数据类型必须和swith表达式数据类型一致;
- case后面可以带多个表达式,使用逗号间隔,比如case 表达式1,表达式2
- case后面的表达式如果是常量值,即要求不能重复;
- case后面不需要带break;
- defaut语句不是必须的;
- swith后面可以不带表达式,类似if else分支来使用;
- swith后面也可以直接申明定义一个变量,分号结束,不推荐;
switch之fallthrough(穿透)也就是执行某个case后,还会再执行它接下来的一个case
Type switch :swich语句还可以被用于type-switch来判断某个Interface变量中实际指向的变量类型;
3.循环控制
(1)基本语法
1)for 循环变量初始化;循环条件;循环变量迭代 {
循环操作
}
2)for 循环条件 {
循环操作
}(相当于while?)
3)for {
循环操作
break
}
for循环的使用细节:
(1)golang提供for-range方式,可以方便的遍历字符串和数组;(是按照字符来遍历的,而不是字节)
(2)利用for实现while和do while
(3)多层循环控制
- 统计3个班的成绩情况,每个班拥有五名学生,求出各个班的平均分和所有班级的平均分(学生的成绩从键盘输入)
- 打印金字塔
打印九九乘法表
(4)break的使用注意:
可以通过指定标签跳出哪层循环
(5)continue(继续某一层)
同样的,continue也可以指定标签继续哪一层:
注意和break的区别。
(6)跳转语句goto
- goto语句可以无条件地转移到程序中指定的行;
- goto语句通常与条件语句配合使用。可用来实现条件转移,跳出循环体等功能;
- 在go程序设计中一般不主张使用goto语句,以避免造成程序流程的混乱;
(7)跳转控制语句return
- 表示跳出所在的方法或函数;
最新文章
- Android安全开发之安全使用HTTPS
- Tarjan应用:求割点/桥/缩点/强连通分量/双连通分量/LCA(最近公共祖先)【转】【修改】
- 【pyQuery】抓取startup news首页
- iOS高仿城觅应用客户端项目(开发思路和代码)
- UVa 1402 Runtime Error 伸展树
- Sort--冒泡排序
- Linux应用程序打包
- 论JS的重要性
- 2013第四届蓝桥杯决赛Java高职高专组题目以及解法答案
- SWT的文件选择对话框I的使用
- Hello,Kubernetes
- Mac使用nginx+rtmp服务器
- java基础--static关键字的使用
- Filezilla Server 出现Error, could not connect to server解决办法
- 全网首发! Odoo 订单分解执行及供应链管理免费开源解决方案
- 宋宝华:关于Ftrace的一个完整案例【转】
- net core体系-web应用程序-4net core2.0大白话带你入门-6asp.net core配置文件
- redis 简单使用总结
- js中var a=new Object()和var a={}有什么区别吗?
- Spring配置文件引入xml文件: <;import resource="; "; />;标签使用总结