Go語言if...else句

2019-10-16 23:16:26

if語句後面可以是一個可選的else語句,當布林表示式為false時執行這個可選的else語句。

語法

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 程式碼塊。

流程圖

範例

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語句測試各種條件非常有用。

當使用ifelse ifelse語句有幾點要記住:

  • 一個if語句可以有零或一個else語句,但是它必須在else if語句之後。
  • 一個if語句可以有零個或許多else if,並且它們必須在else語句之前。
  • 當有一個else if測試匹配成功,剩餘的任何else ifelse語句都不會測試。

語法

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