📜  Go 决策制定(如果、if-else、Nested-if、if-else-if)

📅  最后修改于: 2021-10-25 02:11:18             🧑  作者: Mango

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

if 语句

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

if(condition) {

   // Statements to execute if
   // condition is true
}

流程图:

例子:

C
// Go program to illustrate the
// use of if statement
package main
 
import "fmt"
 
func main() {
     
   // taking a local variable
   var v int = 700
  
   // using if statement for
   // checking the condition
   if(v < 1000) {
        
      // print the following if
      // condition evaluates to true
      fmt.Printf("v is less than 1000\n")
   }
    
   fmt.Printf("Value of v is : %d\n", v)
    
}


C
// Go program to illustrate the
// use of if...else statement
package main
 
import "fmt"
 
func main() {
     
   // taking a local variable
   var v int = 1200
  
   // using if statement for
   // checking the condition
   if(v < 1000) {
        
      // print the following if
      // condition evaluates to true
      fmt.Printf("v is less than 1000\n")
       
   } else {
        
       // print the following if
      // condition evaluates to true
      fmt.Printf("v is greater than 1000\n")
   }
    
}


C
// Go program to illustrate the
// use of nested if statement
package main
import "fmt"
 
func main() {
     
   // taking two local variable
   var v1 int = 400
   var v2 int = 700
  
   // using if statement
   if( v1 == 400 ) {
        
      // if condition is true then
      // check the following
      if( v2 == 700 )  {
           
         // if condition is true
         // then display the following
         fmt.Printf("Value of v1 is 400 and v2 is 700\n" );
      }
   }
   
}


C
// Go program to illustrate the
// use of if..else..if ladder
package main
import "fmt"
 
func main() {
     
   // taking a local variable
   var v1 int = 700
  
   // checking the condition
   if(v1 == 100) {
        
      // if condition is true then
      // display the following */
      fmt.Printf("Value of v1 is 100\n")
       
   } else if(v1 == 200) {
        
      fmt.Printf("Value of a is 20\n")
       
   } else if(v1 == 300) {
        
      fmt.Printf("Value of a is 300\n")
       
   } else {
        
      // if none of the conditions is true
      fmt.Printf("None of the values is matching\n")
   }
}


输出:

v is less than 1000
value of v is : 700

if…else 语句

if 语句单独告诉我们,如果条件为真,它将执行语句块,如果条件为假,则不会执行。但是,如果条件为假,我们想做其他事情怎么办。下面是 else 语句。当条件为假时,我们可以使用 else 语句和 if 语句来执行代码块。
句法:

if (condition) {

    // Executes this block if
    // condition is true
} else {

    // Executes this block if
    // condition is false
}

流程图:

例子:

C

// Go program to illustrate the
// use of if...else statement
package main
 
import "fmt"
 
func main() {
     
   // taking a local variable
   var v int = 1200
  
   // using if statement for
   // checking the condition
   if(v < 1000) {
        
      // print the following if
      // condition evaluates to true
      fmt.Printf("v is less than 1000\n")
       
   } else {
        
       // print the following if
      // condition evaluates to true
      fmt.Printf("v is greater than 1000\n")
   }
    
}

输出:

v is greater than 1000

嵌套 if 语句

在 Go 语言中,嵌套的 if 是一个 if 语句,它是另一个 if 或 else 的目标。嵌套 if 语句意味着 if 语句内的 if 语句。是的,Golang 允许我们在 if 语句中嵌套 if 语句。即,我们可以将一个 if 语句放在另一个 if 语句中。
句法:

if (condition1) {

   // Executes when condition1 is true
   
   if (condition2) {

      // Executes when condition2 is true
   }
}

流程图:

例子:

C

// Go program to illustrate the
// use of nested if statement
package main
import "fmt"
 
func main() {
     
   // taking two local variable
   var v1 int = 400
   var v2 int = 700
  
   // using if statement
   if( v1 == 400 ) {
        
      // if condition is true then
      // check the following
      if( v2 == 700 )  {
           
         // if condition is true
         // then display the following
         fmt.Printf("Value of v1 is 400 and v2 is 700\n" );
      }
   }
   
}

输出:

Value of v1 is 400 and v2 is 700

if..else..if 梯子

在这里,用户可以在多个选项中做出决定。 if 语句从上到下执行。一旦控制 if 的条件之一为真,则执行与该 if 相关的语句,并绕过梯形图的其余部分。如果没有一个条件为真,则将执行最后的 else 语句。
要点:

  • if 语句可以有零或一个 else 并且它必须在任何 else if 之后。
  • if 语句可以有零到多个 else if,并且它必须在 else 之前。
  • 如果 else if成功,则不会测试其余的 else ifelse,

句法:

if(condition_1) {

     // this block will execute 
     // when condition_1 is true

} else if(condition_2) {

    // this block will execute 
    // when condition2 is true
}
.
.
. else {

      // this block will execute when none
     // of the condition is true
}

流程图:

例子:

C

// Go program to illustrate the
// use of if..else..if ladder
package main
import "fmt"
 
func main() {
     
   // taking a local variable
   var v1 int = 700
  
   // checking the condition
   if(v1 == 100) {
        
      // if condition is true then
      // display the following */
      fmt.Printf("Value of v1 is 100\n")
       
   } else if(v1 == 200) {
        
      fmt.Printf("Value of a is 20\n")
       
   } else if(v1 == 300) {
        
      fmt.Printf("Value of a is 300\n")
       
   } else {
        
      // if none of the conditions is true
      fmt.Printf("None of the values is matching\n")
   }
}

输出:

None of the values is matching