视频来源:B站《golang入门到项目实战 [2022最新Go语言教程,没有废话,纯干货!]》
文章为自己整理的学习笔记,侵权即删,谢谢支持!
Go语言中的条件:
if
语句 由一个布尔表达式后紧跟一个或多个语句组成。if
语句后可以使用可选的 else
语句, else
语句中的表达式在布尔表达式为 false
时执行。if
或 else if
语句中嵌入一个或多个 if
或 else if
语句。switch
语句用于基于不同条件执行不同动作。select
语句类似于 switch
语句,但是select
会随机执行一个可运行的case
。如果没有case
可运行,它将阻塞,直到有case
可运行。Go语言中的循环语句:
for循环
for range循环
go语言中的循环只有for
循环,去除了while
、do while
循环,使用起来更加简洁。
Go语言中的流程控制关键字:
break
continue
goto
go语言中的if语句和其他语言中的类似,都是根据给定的条件表达式运算结果来,判断执行流程。
if 布尔表达式 {
// 代码块
}
注意:在go语言中布尔表达式不用使用括号。
① 基础演示
package main
import (
"fmt"
)
func main() {
a := 1
b := 2
if a < b {
fmt.Printf("a: %v\n", a)
}
}
运行结果:
a: 1
② 根据年龄判断是否成年
package main
import (
"fmt"
)
func main() {
age := 20
if age > 18 {
fmt.Println("成年")
}
fmt.Printf("程序运行结束")
}
运行结果:
成年
程序运行结束
注:初始变量可以声明在布尔表达式里面,注意它的作用域(只能作用域
if
语句内,在if语句外引用则报错)
package main
import (
"fmt"
)
func main() {
if age := 20; age > 18 {
// 将初始变量age放到表达式里
fmt.Println("成年")
}
fmt.Printf("程序运行结束")
}
{}
必须存在,即使只有一行语句if
或else
的同一行if
之后,条件语句之前,可以添加变量初始化语句,使用;
进行分隔if
语句表达式中不能使用0或非0表示真假package main
import (
"fmt"
)
func main() {
var i = 1
if i {
// 此处编译报错
fmt.Println("真")
}
fmt.Printf("程序运行结束")
}
go语言中的if else语句可以根据给定条件二选一。
if 布尔表达式 {
// 代码块1
} else {
// 代码块2
}
强调一下: 双分支只会执行其中的一个分支。
① 比较两个数的大小
package main
import (
"fmt"
)
func main() {
a := 1
b := 2
if a > b {
fmt.Printf("\"a>b\": %v\n", "a>b")
} else {
fmt.Printf("\"a<=b\": %v\n", "a)
}
fmt.Println("程序运行结束")
}
运行结果:
"a<=b": a
② 判断一个数是奇数还是偶数
package main
import (
"fmt"
)
func main() {
var num int
fmt.Println("输入一个整数num:")
fmt.Scan(&num) // ftm.Scan()用于接收用户在终端输入的值
if num%2 == 0 {
fmt.Print("num 是偶数\n")
} else {
fmt.Print("num 是奇数\n")
}
fmt.Print("num 的值是:", num)
}
运行结果:
输入一个整数num:
7
num 是奇数
num 的值是:7
③ 判断一个人是否成年
package main
import (
"fmt"
)
func main() {
var age int
fmt.Println("输入你的年龄:")
fmt.Scan(&age)
if age >= 18 {
fmt.Println("你是成年人")
} else {
fmt.Println("你是未成年")
}
}
运行结果:
输入你的年龄:
18
你是成年人
{}
必须存在,即使只有一行语句if
或else
的同一行if
之后,条件语句之前,可以添加变量初始化语句,使用;
进行分隔if
语句表达式中不能使用0或非0表示真假go语言if语句可以进行多重嵌套使用,进行多重判断。
if 布尔表达式1 {
// 代码块1
} else if 布尔表达式2 {
// 代码块2
}
...
else {
// 代码块n
}
判断流程如下:
先判断条件表达式 1
是否成立,如果为真,就执行代码块 1
如果条件表达式 1
如果为假,就去判断条件表达式 2
是否成立, 如果条件表达式 2
为真,就执行代码块 2
依次类推.
如果所有的条件表达式不成立,则执行 else 的语句块。
else 不是必须的。
多分支只能有一个执行入口。
① 根据分数判断等级
package main
import (
"fmt"
)
func main() {
var score int
fmt.Println("输入你的成绩:")
fmt.Scan(&score)
if score < 60 {
fmt.Println("你的成绩为D")
} else if score >= 60 && score <= 70 {
fmt.Println("你的成绩为C")
} else if score > 70 && score <= 90 {
fmt.Println("你的成绩为B")
} else {
fmt.Println("你的成绩为A")
}
}
运行结果:
输入你的成绩:
92
你的成绩为A
② 输入星期几的第一个字母来判断一下是星期几,如果第一个字母一样,则继续判断第二个字母
package main
import (
"fmt"
)
func main() {
// Monday Tuesday Wednesday Thursday Friday Saturday Sunday