流程控制 if 语句

时间:2020-04-28
本文章向大家介绍流程控制 if 语句,主要包括流程控制 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 偶数

原文地址:https://www.cnblogs.com/zhoukezhang/p/12794303.html