Go学习笔记流程控制
switch 语句
switch 语句用于基于不同条件执行不同动作,每一个 case 分支都是唯一的,从上直下逐一测试,直到匹配为止。 Golang switch 分支表达式可以是任意类型,不限于常量。可省略 break,默认自动终止。
语法:
switch var1 {
case val1:
...
case val2:
...
default:
...
}
注意事项: 变量 var1 可以是任何类型,而 val1 和 val2 则可以是同类型的任意值。类型不被局限于常量或整数,但必须是相同的类型;或者最终结果为相同类型的表达式。 您可以同时测试多个可能符合条件的值,使用逗号分割它们,例如:case val1, val2, val3。
示例
package main
import "fmt"
/**
type switch
fallthrough
*/
func main() {
// 定义一个全局变量
var grade string = "B"
var marks int = 90
switch marks {
case 90:
grade = "A"
case 80:
grade = "B"
case 50, 60, 70:
grade = "C"
default:
grade = "D"
}
switch {
case grade == "A":
fmt.Println("优秀")
case grade == "B", grade == "C": // 判断多个条件
fmt.Println("良好")
case grade == "D":
fmt.Println("及格")
case grade == "F":
fmt.Println("不及格")
default:
fmt.Println("差")
}
fmt.Printf("你的成绩是 %s\n", grade)
}