基本语法
switch 变量(表达式){
case 值1:
语句块
case 值2:
语句块
......
default:
语句块
}
示例
package main
import "fmt"
func main(){
var score int = 69
switch score{
case 90:
fmt.Println("A")
case 80:
fmt.Println("B")
case 70,60,50:
//1.支持多个条件的匹配
//2.不同的case之间不需要break
fmt.Println("C")
default:
fmt.Println("E")
}
}
//输出:E
switch同if-else相同,也支持一个初始化语句,并用;分隔。
package main
import "fmt"
func main(){
switch a := 100; a{
case 90:
fmt.Println("90")
case 100:
fmt.Println("100")
}
}
//输出:100
switch语句也可以在case里进行判断
package main
import "fmt"
func main(){
a := 100
switch{//switch也可以在case里进行判断。
case a == 70:
fmt.Println("70")
case a == 80:
fmt.Println("80")
case a == 100
fmt.Println("100")
}
}
if和switch比较
if语句更适合区间判断,嵌套使用
switch执行效率更高高,可以将多个满足相同条件的值放在一起,更适合做固定值判断。