Go - if...else 语句


if语句后面可以跟一个可选的else语句,该语句在布尔表达式为 false 时执行

句法

Go 编程语言中if...else语句的语法是 -

if(boolean_expression) {
   /* statement(s) will execute if the boolean expression is true */
} else {
   /* statement(s) will execute if the boolean expression is false */
}

如果布尔表达式的计算结果为true,则执行if 代码块,否则执行else 代码块。

流程图

执行 if...else 语句

例子

package main

import "fmt"

func main() {
   /* local variable definition */
   var a int = 100;
 
   /* check the boolean condition */
   if( a < 20 ) {
      /* if condition is true then print the following */
      fmt.Printf("a is less than 20\n" );
   } else {
      /* if condition is false then print the following */
      fmt.Printf("a is not less than 20\n" );
   }
   fmt.Printf("value of a is : %d\n", a);
}

当上面的代码被编译并执行时,它会产生以下结果 -

a is not less than 20;
value of a is : 100

if...else if...else 语句

if语句后面可以跟一个可选的else if...else语句,这对于使用单个 if...else if 语句测试各种条件非常有用。

当使用 if 、 else if 、 else 语句时,有几点需要记住 -

  • if 可以有 0 个或 1 个 else if,并且它必须位于任何 else if 之后。

  • if 可以有零到多个 else if,并且它们必须出现在 else 之前。

  • 一旦 else if 成功,则不会测试其余的 else if 或 else。

句法

Go 编程语言中if...else if...else语句的语法是 -

if(boolean_expression 1) {
   /* Executes when the boolean expression 1 is true */
} else if( boolean_expression 2) {
   /* Executes when the boolean expression 2 is true */
} else if( boolean_expression 3) {
   /* Executes when the boolean expression 3 is true */
} else {
   /* executes when the none of the above condition is true */
}

例子

package main

import "fmt"

func main() {
   /* local variable definition */
   var a int = 100
 
   /* check the boolean condition */
   if( a == 10 ) {
      /* if condition is true then print the following */
      fmt.Printf("Value of a is 10\n" )
   } else if( a == 20 ) {
      /* if else if condition is true */
      fmt.Printf("Value of a is 20\n" )
   } else if( a == 30 ) {
      /* if else if condition is true  */
      fmt.Printf("Value of a is 30\n" )
   } else {
      /* if none of the conditions is true */
      fmt.Printf("None of the values is matching\n" )
   }
   fmt.Printf("Exact value of a is: %d\n", a )
}

当上面的代码被编译并执行时,它会产生以下结果 -

None of the values is matching
Exact value of a is: 100
go_decision_making.htm