Go语言的条件判断语句也分为if-else和switch
1.if-else语句
Go语言中,if else 条件判断格式如下:
if 表达式1 {
分支1
} else if 表达式2 {
分支2
} else {
分支3
}
注意:Go语言中规定:if 的 左括号 ‘’{‘’ 必须与 if 表达式放在同一行,如果强行放置在其他位置,会发生如下编译错误。
实例:
package main
import (
"fmt"
"runtime"
)
func main() {
// 定义一个整型变量
var score int
fmt.Println("请输入考试成绩:")
fmt.Scan(&score)
if score > 100 || score < 0 {
fmt.Println("成绩非法!")
runtime.Goexit()
}
// 判断考试分数的等级
if score >= 90 && score <= 100 {
fmt.Println("成绩优秀")
} else if score >= 80 && score < 90 {
fmt.Println("成绩良好")
} else if score >= 60 && score < 80 {
fmt.Println("成绩及格")
} else {
fmt.Println("不及格")
}
}
运行效果:
请输入考试成绩:
88
成绩良好
2.switch
Go 语言 改进了其他语言中switch 语句的设计弊端。Go语言中switch中的每一个case都是独立代码块,无需通过break语句跳出代码块,以避免执行到下一个case代码块。
上例子改用switch实现。
package main
import (
"fmt"
"runtime"
)
func main() {
// 定义一个整型变量
var score int
fmt.Println("请输入考试成绩:")
fmt.Scan(&score)
if score > 100 || score < 0 {
fmt.Println("成绩非法!")
runtime.Goexit()
}
level := score / 10
switch level {
case 10, 9:
fmt.Println("成绩优秀")
case 8:
fmt.Println("成绩良好")
case 6, 7:
fmt.Println("成绩及格")
default:
fmt.Println("不及格")
}
}