编辑这个页面须要登录或更高权限!

Go 语言条件语句 (if, if...else, 嵌套if)

编程中的决策类似于现实生活中的决策。在决策中,当满足给定条件时执行一段代码。有时,这些也称为控制流语句。Golang使用指定语句根据某些条件指定程序的执行流程。这些用于根据程序状态的更改使执行流程前进和分支。

Go编程的决策语句为:

if 语句

这是最简单的决策。它用于决定是否执行某个语句或语句块,即,如果某个条件为,则执行语句块,否则不执行。

语法:

if(condition) {
   //if要执行的语句
   //condition为真
}

流程图:

范例:

//使用if语句
package main
import "fmt"

func main() {

    //取局部变量
    var v int = 700

    //使用if语句
    //检查条件
    if v < 1000 {
        //打印以下内容,条件评估为true
        fmt.Printf("v小于1000\n")
    }

    fmt.Printf("v的值是 : %d\n", v)

}

输出:

v小于1000
v的值是 : 700

if…else 语句

if语句告诉我们,如果条件为true,它将执行语句块,如果条件为false,则不会执行。但是如果条件为false,我们想做其他事情怎么办;那就要用到else语句。当条件为false时,可以将else语句与if语句一起使用以执行代码块。

语法:

 if (condition) {

    // if条件为true,执行此代码块
    
} else {

    // if条件为false,执行此代码块
}

流程图:

// 使用 if...else 语句
package main

import "fmt"

func main() {

    //局部变量
    var v int = 1200

    // 使用if语句检查条件
    if v < 1000 {

        //打印以下内容,如果条件评估为true
        fmt.Printf("v < 1000\n")

    } else {

        //打印以下内容,如果条件评估为false
        fmt.Printf("v > 1000\n")
    }
}

输出:

v > 1000

嵌套if 语句

在Go语言中,一个嵌套的if是一个if语句,它是另一个if或else的目标。嵌套if语句是指if语句中的if语句。是的,Golang允许我们在if语句中嵌套if语句。我。我们可以把一个if语句放在另一个if语句中。

语法:

if (condition1) {

   // 当条件1为真时执行
   
   if (condition2) {

      // 当条件2为真时执行
   }
}

流程图:

//使用嵌套if语句 
package main 
import "fmt"
  
func main() { 
      
   //两个局部变量
   var v1 int = 400 
   var v2 int = 700 
   
   //使用if语句
   if( v1 == 400 ) { 
         
      // if条件为true时执行 
      if( v2 == 700 )  { 
            
         // if条件为true时,执行打印输出
         fmt.Printf("v1的值是400,v2的值是700\n" ); 
      } 
   } 
    
}

输出:

v1的值是400,v2的值是700

if..else..if 语句

在这里,用户可以在多个选项中进行选择。if语句从上至下执行。一旦if的任意条件为true,则将执行与if关联的语句,并跳过其余的if语句。如果所有条件都不成立,则将执行最终的else语句。

重要事项:

  • if语句可以有0个或1个if,并且必须在其他if后面。

  • if语句可以有0到多个if,并且必须在else之前

  • 如果else if成功,其余的else if 或else 都不会被执行

语法:

if(condition_1) {

     //condition_1为true,执行这里的代码块

} else if(condition_2) {

    //condition_2为true,执行这里的代码块
}else {

    //没有条件为true时,执行这里代码块
}

流程图:

package main 
import "fmt"
  
func main() { 
      
   var v1 int = 700 
   
   if(v1 == 100) { 
         
      // 如果条件为真,则显示以下内容 
      fmt.Printf("v1的值是100\n") 
        
   } else if(v1 == 200) { 
         
      fmt.Printf("v1的值是200\n") 
        
   } else if(v1 == 300) { 
         
      fmt.Printf("v1的值是300\n") 
        
   } else { 
         
      //如果条件都不为真  
      fmt.Printf("没有匹配的值\n") 
   } 
}

输出:

没有匹配的值

Golang 菜鸟教程
Golang 控制语句
Golang 函数 & 方法
Golang 结构体
Golang 切片 & 数组
Golang 字符串(String)
Golang 指针
Golang 接口
Golang 并发
Golang 异常(Error)
Golang 其他杂项