1 程序的流程结构- 程序的流程控制结构一共有三种:顺序结构,选择结构,循环结构。
- 顺序结构:从上向下,逐行执行。
- 选择结构:条件满足,某些代码才会执行。0-1次
- 分支语句:if,switch,select
- 循环结构:条件满足,某些代码会被反复的执行多次。0-N次
- 循环语句:for
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qIXdeFzp-1579755016556)(/img/goImage/if语句.png)]](https://img-blog.csdnimg.cn/20200123124903178.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM3NDkzNTU2,size_16,color_FFFFFF,t_70)
2 条件语句2.1 If语句语法格式: if 布尔表达式 {
}
if 布尔表达式 {
} else {
}
if 布尔表达式1 {
} else if 布尔表达式2{
} else{
}
示例代码: package main
import "fmt"
func main() {
var a int = 10
if a < 20 {
fmt.Printf("a 小于 20\n" )
}
fmt.Printf("a 的值为 : %d\n", a)
}
如果其中包含一个可选的语句组件(在评估条件之前执行),则还有一个变体。它的语法是 if statement; condition {
}
if condition{
}
示例代码: package main
import (
"fmt"
)
func main() {
if num := 10; num % 2 == 0 {
fmt.Println(num,"is even")
} else {
fmt.Println(num,"is odd")
}
}
需要注意的是,num的定义在if里,那么只能够在该if…else语句块中使用,否则编译器会报错的。
func ifDemo1() {
score := 65
if score >= 90 {
fmt.Println("A")
} else if score > 75 {
fmt.Println("B")
} else {
fmt.Println("C")
}
}
3 条件判断特殊写法if条件判断还有一种特殊的写法,可以在 if 表达式之前添加一个执行语句,再根据变量值进行判断。举个例子:func ifDemo2() {
if score := 65; score >= 90 {
fmt.Println("A")
} else if score > 75 {
fmt.Println("B")
} else {
fmt.Println("C")
}
}
思考题: 上下两种写法的区别在哪里? |