5.3. 选择结构-switch
选择结构-switch
结构语法
//switch 变量(表达式) {
//case 值1:
// 代码体
// fallthrough
//case 值2:
// 代码体
//default:
// 代码体
//}
根据分数 >=90 A >=80 B >=70 C >=60 D 不及格 E
func main() {
var score int
fmt.Scan(&score)
switch score / 10 {
case 10:
//fmt.Println("A")
fallthrough
case 9:
fmt.Println("A")
case 8:
fmt.Println("B")
case 7:
fmt.Println("C")
case 6:
fmt.Println("D")
default:
fmt.Println("E")
}
}
通过上面的代码,我们实际上是定义了一个bool类型的变量,默认值为true,当输入评定级别错误时,将其改为false.最后在输出级别时,做了判断,如果条件成立表示输入了正确的评定级别,所以输出对应的级别,否则不输出级别。(这种技巧,需要大家好好体会一下)
我们前面在讲解if-else if结构时讲过,该结构适合什么场合:1.多条件判断,2:区间性的数据判断。但是我们看一下该案例,是否是对区间性的数据进行判断呢?不是,而是定值判断,也就是对一个固定值的判断。
对这种固定值的判断推进使用switch-case结构。
break 与 fallthrough
注意:某个case 后面跟着的代码执行完毕后,不会再执行后面的case,而是跳出整个switch结构, 相当于每个case后面都跟着break(终止),但是如果我们想执行完成某个case后,强制执行后面的case,可以使用fallthrough。