流程控制语句
Go语言支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构。
顺序结构:程序按顺序执行,不发生跳转。
选择结构:依据是否满足条件,有选择的执行相应功能。
循环结构:依据条件是否满足,循环多次执行某段代码。
008.1 选择结构
008.1.1 if语句
008.1.1.1 if
var a int = 3
if a == 3 { //条件表达式没有括号
fmt.Println(“a==3”)
}
//支持一个初始化表达式, 初始化字句和条件表达式直接需要用分号分隔
if b := 3; b == 3 {
fmt.Println("b==3")
}
008.1.1.2 if … else
if a := 3; a == 4 {
fmt.Println(“a==4”)
} else { //左大括号必须和条件语句或else在同一行
fmt.Println(“a!=4”)
}
008.1.1.3 if … else if … else
if a := 3; a > 3 {
fmt.Println(“a>3”)
} else if a < 3 {
fmt.Println(“a<3”)
} else if a == 3 {
fmt.Println(“a==3”)
} else {
fmt.Println(“error”)
}
008.1.2 switch语句
Go里面switch默认相当于每个case最后带有break,匹配成功后不会自动向下执行其他case,而是跳出整个switch, 但是可以使用fallthrough强制执行后面的case代码:
var score int = 90
switch score {
case 90:
fmt.Println("优秀")
//fallthrough
case 80:
fmt.Println("良好")
//fallthrough
case 50, 60, 70:
fmt.Println("一般")
//fallthrough
default:
fmt.Println("差")
}
可以使用任何类型或表达式作为条件语句:
//1
switch s1 := 90; s1 { //初始化语句;条件
case 90:
fmt.Println(“优秀”)
case 80:
fmt.Println(“良好”)
default:
fmt.Println(“一般”)
}
//2
var s2 int = 90
switch { //这里没有写条件
case s2 >= 90: //这里写判断语句
fmt.Println("优秀")
case s2 >= 80:
fmt.Println("良好")
default:
fmt.Println("一般")
}
//3
switch s3 := 90; { //只有初始化语句,没有条件
case s3 >= 90: //这里写判断语句
fmt.Println("优秀")
case s3 >= 80:
fmt.Println("良好")
default:
fmt.Println("一般")
}
练习:
1、已知两个数输出大的那个数
2、已知三个数输出大的那个数