通常我们需要代码在满足一定条件时候进行执行,或者需要重复执行代码,此时条件语句(if-else if -else)或者选择语句(swicth case)及循环语句(for)
12.流程控制
!!! note
老婆给老公打电话,下班顺路买十个包子,如果看到买西瓜的,买一个。当晚老公拿着一个包子回家。老婆问道:你怎么只买了一个包子?老公回答:因为我看到卖西瓜的了。
if else
老婆的想法,如果看到买西瓜的,买一个西瓜,代码:
package main
import "fmt"
func main(){
fmt.Print("老婆的想法:")
fmt.Println("买10个包子")
var yes string
fmt.Print("是否有卖西瓜的?")
fmt.Scan(&yes)
if yes == "Y"|| yes == "y" {
fmt.Println("买一个西瓜")
}
}
看到卖西瓜的,买一个西瓜,运行:
[root@marksugar /opt/Golang]# go run if1.go
老婆的想法:买10个包子
是否看到卖西瓜的?y
买一个西瓜
如果没看到就买10个包子:
[root@marksugar /opt/Golang]# go run if1.go
老婆的想法:买10个包子
是否看到卖西瓜的?n
老公的想法是,如果看到买西瓜的,就买一个包子,否则就买10个包子。代码如下:
package main
import "fmt"
func main(){
fmt.Print("老婆的想法:")
fmt.Println("买10个包子")
var yes string
fmt.Print("是否看到卖西瓜的?")
fmt.Scan(&yes)
if yes == "Y"|| yes == "y" {
fmt.Println("买一个西瓜")
}
fmt.Print("老公的想法:")
if yes == "y"|| yes == "Y" {
fmt.Println("买一个包子")
}else {
fmt.Println("买10个包子")
}
}
如果看到了买西瓜的,买一个包子:
[root@marksugar /opt/Golang]# go run if1.go
老婆的想法:买10个包子
是否看到卖西瓜的?y
买一个西瓜
老公的想法:买一个包子
如果没看到,就买10个包子:
[root@marksugar /opt/Golang]# go run if1.go
老婆的想法:买10个包子
是否看到卖西瓜的?n
老公的想法:买10个包子
if else if
如果输入大于等于90就打印A,大于等于80打印B,大于等于70打印C,大于等于60打印D,小于60就打印D-不及格。如下
var score int
fmt.Print("请输入成绩:")
fmt.Scan(&score)
if score >= 90 {
fmt.Println("A")
} else if score >= 80 {
fmt.Println("B")
} else if score >= 70 {
fmt.Println("C")
} else if score >= 60 {
fmt.Println("D")
} else {
fmt.Println("D-,不及格")
}
运行
[root@marksugar /opt/Golang]# go run if1.go
请输入成绩:70
C