流程控制 if 语句
概念
流程控制,就是对事物执行次序、次数进行安排。编程语言的流程控制就是控制逻辑走向和执行次序的重要部分,是一门语言的经脉。go语言常用的流程控制有条件语句、循环语句。
条件判断if 语句
if 语句 if语句由一个布尔表达式后紧跟一个或多个语句组成 if...else 语句 if语句后可以跟else,else语句表达式在布尔表达式为false时执行 if嵌套语句 if () { } else if () { }else if () { }
Go 编程语言中 if 语句的语法如下:
• 可省略条件表达式括号。 • 持初始化语句,可定义代码块局部变量。 • 代码块左 括号必须在条件表达式尾部。 if 布尔表达式 { /* 在布尔表达式为 true 时执行 */ }
if 在布尔表达式为 true 时,其后紧跟的语句块执行,如果为 false 则不执行。
x := 0 // if x > 10 // Error: missing condition in if statement // { // } if n := "abc"; x > 0 { // 初始化语句未必就是定义变量, 如 println("init") 也是可以的。 println(n[2]) } else if x < 0 { // 注意 else if 和 else 左大括号位置。 println(n[1]) } else { println(n[0]) }
*不支持三元操作符(三目运算符) "a > b ? a : b"。
实例
package main import "fmt" func main() { /* 定义局部变量 */ var a int = 10 /* 使用 if 语句判断布尔表达式 */ if a < 20 { /* 如果条件为 true 则执行以下语句 */ fmt.Printf("a 小于 20\n" ) } fmt.Printf("a 的值为 : %d\n", a) }
a 小于 20 a 的值为 : 10
if...else 语句
if 语句 后可以使用可选的 else 语句, else 语句中的表达式在布尔表达式为 false 时执行。
语法
Go 编程语言中 if...else 语句的语法如下:
if 布尔表达式 { /* 在布尔表达式为 true 时执行 */ } else { /* 在布尔表达式为 false 时执行 */ }
if 在布尔表达式为 true 时,其后紧跟的语句块执行,如果为 false 则执行 else 语句块。
package main import "fmt" func main() { /* 局部变量定义 */ var a int = 100 /* 判断布尔表达式 */ if a < 20 { /* 如果条件为 true 则执行以下语句 */ fmt.Printf("a 小于 20\n" ) } else { /* 如果条件为 false 则执行以下语句 */ fmt.Printf("a 不小于 20\n" ) } fmt.Printf("a 的值为 : %d\n", a) }
a 不小于 20 a 的值为 : 100
if 嵌套语句
你可以在 if 或 else if 语句中嵌入一个或多个 if 或 else if 语句。
语法
Go 编程语言中 if...else 语句的语法如下:
if 布尔表达式 1 { /* 在布尔表达式 1 为 true 时执行 */ if 布尔表达式 2 { /* 在布尔表达式 2 为 true 时执行 */ } }
你可以以同样的方式在 if 语句中嵌套 else if...else 语句
实例
package main import "fmt" func main() { /* 定义局部变量 */ var a int = 100 var b int = 200 /* 判断条件 */ if a == 100 { /* if 条件语句为 true 执行 */ if b == 200 { /* if 条件语句为 true 执行 */ fmt.Printf("a 的值为 100 , b 的值为 200\n" ) } } fmt.Printf("a 值为 : %d\n", a ) fmt.Printf("b 值为 : %d\n", b ) }
a 的值为 100 , b 的值为 200 a 值为 : 100 b 值为 : 200
if语句有一个变体,语法如下
if statement; condition { //代码 }
package main import "fmt" func main() { if num := 10; num%2 == 0 { fmt.Println(num, "偶数") } else { fmt.Println(num, "奇数") } } //运行结果:10 偶数
希望我的分享对你有帮助,更多学习资源请到我的个人网站
www.zhoukezhang.com
浙公网安备 33010602011771号