程式的流程控制結構一共有三種:順序結構,選擇結構,迴圈結構。
順序結構:從上向下,逐行執行。
選擇結構:條件滿足,某些**才會執行。0-1次
- 分支語句:if,switch,select
迴圈結構:條件滿足,某些**會被反覆的執行多次。0-n次
go 沒有三目運算子,所以不支援 ?: 形式的條件判斷
用於基於不同條件執行不同動作,每乙個 case 分支都是唯一的,從上至下逐一測試,直到匹配為止。
switch 語句還可以被用於 type-switch 來判斷某個 inte***ce 變數中實際儲存的變數型別。
switch x.
(type
)
package main
import
"fmt"
func
main()
switch i := x.
(type
)}
執行結果:
x 的型別 :
<
nil>
支援多條件匹配不同的 case 之間不使用 break 分隔,預設只會執行乙個 case
如果想要執行多個 case,需要使用 fallthrough 關鍵字,也可用 break 終止
for init; condition; post
//for
for condition
//while
for
init: 一般為賦值表示式,給控制變數賦初值;
condition: 關係表示式或邏輯表示式,迴圈控制條件;
post: 一般為賦值表示式,給控制變數增量或減量。
for 迴圈的 range 格式可以對 slice、map、陣列、字串等進行迭代迴圈:
for key, value :=
range oldmap
statement
(s);
}
Go 運算子 控制語句
算數運算子 加減乘除 取餘 自增 自減 關係運算子 邏輯運算子 位運算子 賦值運算子 運算子描述 簡單的賦值運算子,將乙個表示式的值賦給乙個左值 相加後再賦值 相減後再賦值 相乘後再賦值 相除後再賦值 求餘後再賦值 左移後賦值 右移後賦值 按位與後賦值 按位異或後賦值 優先順序 2.1條件語句 2....
Go 運算子 控制語句
假定 a 值為 10,b 值為 20。3.1.1 算數運算子 運算子描述例項 相加a b 輸出結果 30 相減 a b 輸出結果 10 相乘 a b 輸出結果 200 相除 b a 輸出結果 2 求餘 b a 輸出結果 0 自增 a 輸出結果 11 自減 a 輸出結果 9 3.1.2 關係運算子 運...
Go小白入門3 運算子 控制語句
2 條件語句 2.3 select 語句 3 迴圈語句 4.小練習 5.參考資料 注意 自增,自減只能作為表示式使用,而不能用於賦值語句 不允許 會有編譯錯誤 syntax error unexpected at end of statement a a 當變數前面有 標識時,才等同於 的用法,否則...