视频来源:B站《golang入门到项目实战 [2022最新Go语言教程,没有废话,纯干货!]》
文章为自己整理的学习笔记,侵权即删,谢谢支持!
文章目录
一 Go语言中的流程控制简介
Go语言中的条件:
- if 语句:
if
语句 由一个布尔表达式后紧跟一个或多个语句组成。 - if…else 语句:
if
语句后可以使用可选的else
语句,else
语句中的表达式在布尔表达式为false
时执行。 - if 嵌套语句: 你可以在
if
或else if
语句中嵌入一个或多个if
或else if
语句。 - switch 语句:
switch
语句用于基于不同条件执行不同动作。 - select 语句:
select
语句类似于switch
语句,但是select
会随机执行一个可运行的case
。如果没有case
可运行,它将阻塞,直到有case
可运行。
Go语言中的循环语句:
-
for循环
-
for range循环
go语言中的循环只有for
循环,去除了while
、do while
循环,使用起来更加简洁。
Go语言中的流程控制关键字:
-
break
-
continue
-
goto
二 Go语言中的if语句
go语言中的if语句和其他语言中的类似,都是根据给定的条件表达式运算结果来,判断执行流程。
2.1 语法
if 布尔表达式 {
// 代码块
}
注意:在go语言中布尔表达式不用使用括号。
2.2 实例演示
① 基础演示
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("程序运行结束")
}
2.3 注意事项
- 不需使用括号将条件包含起来
- 大括号
{}
必须存在,即使只有一行语句 - 左括号必须在
if
或else
的同一行 - 在
if
之后,条件语句之前,可以添加变量初始化语句,使用;
进行分隔 - 在
if
语句表达式中不能使用0或非0表示真假
package main
import (
"fmt"
)
func main() {
var i = 1
if i {
// 此处编译报错
fmt.Println("真")
}
fmt.Printf("程序运行结束")
}
三 Go语言中的if else语句
go语言中的if else语句可以根据给定条件二选一。
3.1 语法
if 布尔表达式 {
// 代码块1
} else {
// 代码块2
}
强调一下: 双分支只会执行其中的一个分支。
3.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<b")
}
fmt.Println("程序运行结束")
}
运行结果:
"a<=b": a<b
程序运行结束
② 判断一个数是奇数还是偶数
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
你是成年人
3.3 注意事项(同if语句)
- 不需使用括号将条件包含起来
- 大括号
{}
必须存在,即使只有一行语句 - 左括号必须在
if
或else
的同一行 - 在
if
之后,条件语句之前,可以添加变量初始化语句,使用;
进行分隔 - 在
if
语句表达式中不能使用0或非0表示真假
四 Go语言中的if else if语句
go语言if语句可以进行多重嵌套使用,进行多重判断。
4.1 语法
if 布尔表达式1 {
// 代码块1
} else if 布尔表达式2 {
// 代码块2
}
...
else {
// 代码块n
}
判断流程如下:
-
先判断条件
表达式 1
是否成立,如果为真,就执行代码块 1
-
如果条件
表达式 1
如果为假,就去判断条件表达式 2
是否成立, 如果条件表达式 2
为真,就执行代码块 2
-
依次类推.
-
如果所有的条件表达式不成立,则执行 else 的语句块。
-
else 不是必须的。
-
多分支只能有一个执行入口。
-
4.2 实例演示
① 根据分数判断等级
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 Su