上一篇文章学习了 Go 安装及 “hello world” 程序。现在开始学习 Go 的条件语句。
条件语句
条件语句是根据表达式值来执行代码块的控制结构。条件表达式的值必须为布尔类型。并且左花括号可以省略但不可以换行。
if
if 是最简单的条件语句。表达的意思是“如果表达式值为真,则执行代码块,否则不执行。”
package main
import "fmt"
func main() {
fmt.Println("hi, boy")
var weight = 100
if weight > 80 {
fmt.Println("哦, 你应该减肥了")
}
}
运行结果如下
当把 weight 修改小于 80,就不会输出 “哦,你应该减肥了”
if...else...
if...else... 控制结构在 if 控制结构的基础上添加如果表达式值为假,则执行的代码块。表达的意思类似于“如果你的现金大于 100 元,那么就去下馆子。否则就回家吃饭”。
package main
import "fmt"
func main () {
var money = 5
if money > 100 {
fmt.Println("下馆子去")
} else {
fmt.Println("还是乖乖回家吃饭")
}
}
运行结果如下
switch
switch 与 if 类似,也是用于选择执行,但是具体使用场景不同。
switch 中有 case 与 default。其中 case 当条件与 case 中的一个或多个匹配时,则执行该 case 的代码块。default 与 if...else... 中的 else 作用类似。当 switch 中所有的 case 都不匹配的情况下执行。
package main
import "fmt"
func main () {
var age = 2
switch age {
case 1:
fmt.Println("这是一只小猫咪")
case 2:
fmt.Println("这是一只成年猫咪")
case 3:
fmt.Println("这是一只正值壮年的猫咪")
default:
fmt.Println("我也不知道这是一只什么猫咪")
}
}
由于 age 的值为 2 与 case 2 匹配,所以程序会输出“这是一只成年猫咪”,运行结果如下
当 age 的值与所有的 case 都不匹配的情况下,就会执行 default 的代码块,程序输出“我也不知道这是一只什么猫咪”。
package main
import "fmt"
func main () {
var age = 0
switch age {
case 1:
fmt.Println("这是一只小猫咪")
case 2:
fmt.Println("这是一只成年猫咪")
case 3:
fmt.Println("这是一只正值壮年的猫咪")
default:
fmt.Println("我也不知道这是一只什么猫咪")
}
}