switch 的使用
- switch 语句用于基于不同条件执行不同操作,,直每一个 case 分支都是唯一的,从上到下逐一测试到匹配为止
- 匹配项后面也不需要再加 break
-
switch 表达式 { case 表达式1, 表达式2, ... : 语句块1 case 表达式2, 表达式3, ... : 语句块2 // 这里可以有多个 case 语句 default : 语句块 }
package main import ( "fmt" ) func main() { /* 请编写一个程序,该程序可以接收一个字符,比如:a,b,c,d,e,f,g a 表示星期一,b 表示星期二... 根据用户的输入显示相应的信息 要求使用 switch 语句完成 */ /* 分析思路: 1.定义一个变量接受字符 2.使用 switch 完成 */ var key byte fmt.Printf("请输入一个字符:a,b,c,d,e,f,g\n") fmt.Scanf("%c", &key) switch key { case 'a': fmt.Println("周一") case 'b': fmt.Println("周二") case 'c': fmt.Println("周三") case 'd': fmt.Println("周四") case 'e': fmt.Println("周五") case 'f': fmt.Println("周六") case 'g': fmt.Println("周日") default: fmt.Println("您没有按要求输入,请按照要求输入信息") } }
switch 使用过程中的细节
- case 后是一个表达式(即:常量值、变量、一个有返回值的函数等都可以)
- case 后的各个表达式的值的数据类型,必须和 switch 的表达式数据类型一致
- case 后面可以带多个表达式,使用逗号间隔。比如 case 表达式1, 表达式2, ...
- case 后面的表达式如果是常量值(字面量),则要求不能重复
- case 后面不需要带 break ,程序匹配到一个case 后就会执行对应的代码块,然后退出 switch,如果一个都匹配不到,则执行 default
- default 语句不是必须的