GO语言基础教程5——流程控制-条件判断
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,如果超出范围则提示成绩有误。