一.顺序控制
程序从上到下逐行的执行,中间没有任何判断和跳转
二.分支控制
1.分支控制if-else
(1)单分支
if条件表达式{
执行代码
}
(2)双分支
(3)多分支
注意:{}是必须有的哪怕只执行一行代码 else不能换行输出
switch分支结构
1.switch语句用于基本不同条件执行不同动作,每一个case分支都是唯一的,从上到下逐一测试,直到匹配位置。
2.匹配项后面也不需要再加break。
1.switch的执行流程是,先执行表达,得到值,然后和case的表达式进行比较,如果相等,就匹配到,然后执行对应的case的语句块,然后退出switch控制
2.如果switch的表达式的值没有和任何的case的表达式匹配成功,则执行default的语句块。执行后推出switch的控制
3.Golang的case后的表达式可以有多个,用逗号间隔
4.Golang中的case语句块不需要break,因为默认会有,执行完case语句后直接退出switch语句
细节:1.case后的各个表达式的值数据类型,必须和switch的表达式数据类型一致
2.case后面的表达式如果是常量值,则要求不能重复
3.switch穿透-fallthrough,如果case语句块后增加fallthrough,则会继续执行下一个case。
4.switch语句还可以被用于type-switch来判断某个interface变量中实际指向的变量类型
switch和if的比较
1.如果判断的具体数值不多,而且符合整数、浮点数、字符、字符串这几种类型。建议使用switch
2.其他情况:对区间判断和结果为bool类型的判断,使用if,if的使用范围更广
三.循环控制
1.for循环
for循环变量初始化;循环条件;循环变量迭代{
循环操作(语句)
}
注意事项和说明:
1.循环条件是返回一个布尔值的表达式
2.for循环的第二种使用方式
for循环判断条件{
//循环执行语句
} //将变量初始化和变量迭代写到其他位置
3.for循环第三种使用方式
for{
//循环执行语句
}//上面的写法等价for;;{}是一个无限循环,通常需要配合break语句使用
遍历:
遍历练习:
1.计算100以内9的倍数的和
2.输出10以内,a+b为6的所有表达式
ps:Golang没有while和do while语法,但可以用for和if来实现while和dowhile的功能:
多次循环控制
应用案例:
1.统计三个班的成绩情况,每个班有五名同学,求出各个班的平均分和所有班级的平均分[学生的成绩从键盘输入]
2.打印金字塔案例
3.打印九九乘法表