Switch在一些计算机语言中是保留字,其作用大多情况下是进行判断选择。以Go语言来说,switch(开关语句)常和case default一起使用。
Go 语言中 switch 中的每一个 case 都是独立代码块,无需通过 break 语句跳出代码块,以避免执行到下一个 case 代码块。
相关案例:
package main
import "fmt"
func main() {
num := 1
switch num {
case 1:
fmt.Println("小愚公")
case 2:
fmt.Println("大愚公")
default:
fmt.Println("不是愚公")
}
}
上面代码中,case 对整型 num 进行判断,若条件符合,则打印相应的字符串。另外,还使用了 default 分支,default 分支表示若条件均不符合,则执行改代码块。
package main
import "fmt"
func main() {
num := 1
switch num {
case 1, 2:
fmt.Println("都是愚公")
}
}
package main
import "fmt"
func main() {
num := 1
switch {
case num > 0 && num < 2:
fmt.Println("猜对了是愚公")
}
}
Go 语言中 swtich 语句中的 case 均为独立代码块,执行完成后,不会继续执行下一个 case,fallthrough就可以实现继续执行。
package main
import "fmt"
func main() {
num := 1
switch {
case num > 0:
fmt.Println("愚公一号")
fallthrough
case num < 2:
fmt.Println("愚公二号")
}
}
package main
import "fmt"
func main() {
//考试成绩大于等于90输出A,大于等于80输出B,大于等于70输出C,大于等于60输出D,不及格输出E
var score float64
fmt.Println("请输入考试成绩:")
fmt.Scan(&score)
switch {
case score >= 90:
fmt.Println("A")
case score >= 80:
fmt.Println("B")
case score >= 70:
fmt.Println("C")
case score >= 60:
fmt.Println("D")
default:
fmt.Println("E")
}
}