GO语言基础教程5——流程控制-条件判断
流程控制是每种编程语言控制逻辑走向和执行次序的重要部分,流程控制可以说是一门语言的“经脉”。
本节课带来了就是流程控制中的条件判断——if语句/if else语句。
if条件判断基本写法
单语句判断
if 表达式 {
语句
}
例如:
if a==1 {
fmt.println("a等于1")
}
双语句判断
if 表达式1 {
语句1
}else{
语句2
}
例如:
if a==1 {
fmt.println("a等于1")
}else{
fmt.println("a不等于1")
}
//如果a=1则执行语句1,否则执行语句2.
多语句判断
if 表达式1 {
语句1
} else if 表达式2 {
语句2
} else{
语句3
}
例如:
if a==1 {
fmt.println("a等于1")
}else if a == 2{
fmt.println("a等于2")
} else {
fmt.println("a既不等于1也不等于2")
}
//如果a=1则执行语句1,如果a=2则执行语句2,否则执行语句3.
if条件判断特殊写法
if条件判断还有一种特殊的写法,可以在 if 表达式之前添加一个执行语句,再根据变量值进行判断,举个例子:
func ifLesson() {
if a := 1; a==1 {
fmt.Println("a等于1")
} else if a==2 {
fmt.Println("a等于2")
} else {
fmt.Println("a既不等于1也不等于2")
}
}
思考: 上下两种写法的区别在哪里?
这其实是关于变量作用域的问题,感兴趣的小伙伴可以访问,GO语言奇怪的if语句
课后练习
1、编写一个程序来测是成绩好坏,若成绩在90以上为优,在75以上为良,在60以上为及格,低于60为不及格,需注意成绩的取值范围为0~100,如果超出范围则提示成绩有误。