4.1Go if-else
1. Go if-else
Golang程序的流程控制决定程序如何执行,主要有三大流程控制,顺序控制
、分支控制
、循环控制
。
条件语句需要定义一个或多个条件,并且对条件测试的true或false来决定是否执行。
1.1. 顺序控制
代码自上而下逐行执行,中间没有判断、跳转,按默认流程执行,即顺序控制。
1.2. 分支控制
让程序有选择的执行,有单分支
、双分支
、多分支
单分支
语法
if 表达式为真{ //代码 }else{ //否则进入此语句块 }
实例
package main import "fmt" func main() { var age int fmt.Println("请输入您的年纪:") //获取用户输入,传入变量地址,防止值拷贝 fmt.Scanln(&age) if age > 18 { fmt.Println("你已经是个18岁的小伙子了!!加油") } }
多重if嵌套
package main import "fmt" func main() { a := 100 b := 200 if a == 100 { if b == 200 { fmt.Println("a为100,b为200") } } else { fmt.Println("a或b有一个不匹配") } }
双分支
package main import "fmt" func main() { var age int fmt.Println("请输入您的年纪:") //获取用户输入,传入变量地址,防止值拷贝 fmt.Scanln(&age) if age > 18 { fmt.Println("你已经是超过18岁的小伙子了!!加油") //这个else不能换行,必须这么写 } else { fmt.Println("未满18,回家写作业!!") } }
多分支
package main import ( "fmt" ) /* 有一核桃,将被进行以下处理 干干巴巴、麻麻赖赖、那就盘他!! 通透圆润,好东西!! 甭管什么东西,盘他!! */ func main() { var hetao string fmt.Println("请输入核桃的成色") fmt.Scanln(&hetao) //写入变量 //多分支判断 if hetao == "干干巴巴,麻麻赖赖" { fmt.Println("盘他!!") } else if hetao == "通透圆润" { fmt.Println("好东西!!") } else { fmt.Println("管他三七二十,来啥盘啥!!") } }