GO语言基础教程5——流程控制-条件判断

216 阅读2分钟

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,如果超出范围则提示成绩有误。

(点击进入专栏查看详细教程)