GO 條件語句

2022-10-09 01:48:10 字數 3842 閱讀 4645

條件語句需要開發者通過指定乙個或多個條件,並通過測試條件是否為 true 來決定是否執行指定語句,並在條件為 false 的情況在執行另外的語句。

go 語言提供了以下幾種條件判斷語句:

語句描述

if 語句

if 語句 由乙個布林表示式後緊跟乙個或多個語句組成。

if...else 語句

if 語句 後可以使用可選的 else 語句, else 語句中的表示式在布林表示式為 false 時執行。

if 巢狀語句

你可以在 if 或 else if 語句中嵌入乙個或多個 if 或 else if 語句。

switch 語句

switch 語句用於基於不同條件執行不同動作。

select 語句

select 語句類似於 switch 語句,但是select會隨機執行乙個可執行的case。如果沒有case可執行,它將阻塞,直到有case可執行。

if 語句由布林表示式後緊跟乙個或多個語句組成。

語法go 程式語言中 if 語句的語法如下:

if 布林表示式

if 在布林表示式為 true 時,其後緊跟的語句塊執行,如果為 false 則不執行。

例項使用 if 判斷乙個數變數的大小:

例項

package main

import "fmt"

func main()

fmt.printf("a 的值為 : %d\n", a)

}以上**執行結果為:

a 小於 20 a 的值為 : 10

if 語句 後可以使用可選的 else 語句, else 語句中的表示式在布林表示式為 false 時執行。

語法go 程式語言中 if...else 語句的語法如下:

if 布林表示式 else

if 在布林表示式為 true 時,其後緊跟的語句塊執行,如果為 false 則執行 else 語句塊。

例項使用 if else 判斷乙個數的大小:

例項

package main

import "fmt"

func main() else

fmt.printf("a 的值為 : %d\n", a); }

以上**執行結果為:

a 不小於 20 a 的值為 : 100

你可以在 if 或 else if 語句中嵌入乙個或多個 if 或 else if 語句。

語法go 程式語言中 if...else 語句的語法如下:

if 布林表示式 1 }

你可以以同樣的方式在 if 語句中巢狀 else if...else 語句

例項巢狀使用 if 語句:

例項

package main

import "fmt"

func main()

}fmt.printf("a 值為 : %d\n", a );

fmt.printf("b 值為 : %d\n", b );

}以上**執行結果為:

a 的值為 100 , b 的值為 200 a 值為 : 100 b 值為 : 200

switch 語句用於基於不同條件執行不同動作,每乙個 case 分支都是唯一的,從上至下逐一測試,直到匹配為止。

switch 語句執行的過程從上至下,直到找到匹配項,匹配項後面也不需要再加 break。

switch 預設情況下 case 最後自帶 break 語句,匹配成功後就不會執行其他 case,如果我們需要執行後面的 case,可以使用 fallthrough 。

語法go 程式語言中 switch 語句的語法如下:

switch var1

變數 var1 可以是任何型別,而 val1 和 val2 則可以是同型別的任意值。型別不被侷限於常量或整數,但必須是相同的型別;或者最終結果為相同型別的表示式。

您可以同時測試多個可能符合條件的值,使用逗號分割它們,例如:case val1, val2, val3。

流程圖:

例項

package main

import "fmt"

func main()

switch

fmt.printf("你的等級是 %s\n", grade );

}以上**執行結果為:

優秀! 你的等級是 a

switch 語句還可以被用於 type-switch 來判斷某個 inte***ce 變數中實際儲存的變數型別。

type switch 語法格式如下:

switch x.(type)

例項

package main

import "fmt"

func main()

switch i := x.(type)

}以上**執行結果為:

x 的型別 :

使用 fallthrough 會強制執行後面的 case 語句,fallthrough 不會判斷下一條 case 的表示式結果是否為 true。

例項

package main

import "fmt"

func main()

}以上**執行結果為:

2、case 條件語句為 true 3、case 條件語句為 false 4、case 條件語句為 true

從以上**輸出的結果可以看出:switch 從第乙個判斷表示式為 true 的 case 開始執行,如果 case 帶有 fallthrough,程式會繼續執行下一條 case,且它不會去判斷下乙個 case 的表示式是否為 true。

select 是 go 中的乙個控制結構,類似於用於通訊的 switch 語句。每個 case 必須是乙個通訊操作,要麼是傳送要麼是接收。

select 隨機執行乙個可執行的 case。如果沒有 case 可執行,它將阻塞,直到有 case 可執行。乙個預設的子句應該總是可執行的。

語法go 程式語言中 select 語句的語法如下:

select

以下描述了 select 語句的語法:

否則:如果有 default 子句,則執行該語句。

如果沒有 default 子句,select 將阻塞,直到某個通訊可以執行;go 不會重新對 channel 或值進行求值。

例項select 語句應用演示:

例項

package main

import "fmt"

func main() else

default:

fmt.printf("no communication\n")

}

}以上**執行結果為:

no communication

//校內舉辦跑步比賽,10s內進去比賽,分性別,進入男子組,女子組

package main

import "fmt"

//if語句巢狀

//校內舉辦跑步比賽,10s內進去比賽,分性別,進入男子組,女子組

func main()

if a < 10 && b == "女"

if a > 10

/*if a < 10 else

} else */}

//switch語句,對學生成績進行考評,90-100:優秀,80-89:良好,60-79及格,60以下,不及格

package main

import "fmt"

func main()

/*var a = 77

//等效於if else 語句

switch */

}

Go條件語句

語句 描述if語句 由乙個布林表示式緊跟乙個或多個語句組成.if else if 語句後面可選的else語句,else語句表達時在布林值為false時執行 if 巢狀語句 if elif elif switch 語句 基於不同的條件執行不同的語句 select 語句類似與switch語句,但是sel...

go語言條件語句switch與select

一 switch語句 go中switch的幾種用法如下面 示例所示 package main import fmt func main 用type switch語句來判斷某個inte ce變數中實際儲存的變數型別 寫法一 switch i x.type 寫法二 var j 0 switch j 寫法...

if條件語句

python 的分支結構由 if 語句來操刀實現。if 語句總共有 5 鐘語法結構,其中前 4 種是比較常見的,而最後 1 種是比較炫酷的操作。1.第 1 種是判斷乙個條件,如果這個條件成立,就執行其包含的某條語句或某個 塊。語法結構如下 if 條件 某條語句或某個 塊2.第 2 種同樣是判斷乙個條...