迴圈控制
程式流程控制決定程式是如何執行的,程式控制語句一般包括:順序、分支、迴圈
程式預設自上到下執行,中間不會跳轉。
golang中採用合法的前向引用,變數必須先定義後使用(部分語言中 支援 先試用 後定義,程式執行過程會自動優化)
if支援單分支、雙分支和多分支控制語法如下
基本語法
if 條件表示式1
else
if 條件表示式2
....
else
當條件表示式1為 true時就就執行**塊1, 否則 判斷 條件表示式2,如果為true 則執行**塊2 ,如果之前的表示式都為false,則執行**塊3
示例程式
func
test6()
else
if(age>0)
else
}
基本語法
switch 表示式
go中switch case 語句塊中不用加 break,且 case 後的表示式可以有多個 用逗號分隔
示例**
func
test7()
switch
switch nage := age;
var x inte***ce
var y =
10.0
x = y
switch i :=x.
(type
)}
注意點
case/switch 後可以是乙個變數、表示式、有返回值的函式都可以
case 後的表示式取值的資料型別必須和switch後的表示式型別一致
case 後如果是常量值則不能重複
default不是必須的
switch 後也可以不帶表示式,類似if else 用法
switch 後可以直接宣告乙個變數,分號結束 不推薦使用
switch 穿透-fallthrough:如果在case 語句塊後增加fallthrough 則會繼續執行下乙個case
type switch :switch 語句可以用於type-switch 來判斷 某個inte***ce 變數執行的 變數型別
總結
如果判斷的具體數值不多,而且符合整數、浮點數、字元、字串這幾種型別 建議使用switch,簡介高效
其他情況:區間判斷、結果為bool型別判斷,使用if ,if 使用範圍更廣
基本語法
for 迴圈變數初始化;迴圈條件;迴圈變數迭代
for;
;for
for index,val :=
range str
**示例
func
test8()
fmt.
println
("********************="
)var c int=1
;for
} fmt.
println
("********************="
)var str string
="我愛北京天安門"
for i :=
0; i<
len(str)
; i++
fmt.
println
("********************="
)for index,val :=
range str
}
go語言沒有while 和 do while 語法,可以使用for來實現同樣的效果
**示例
func
test9()
}// while 效果實現
for fmt.
println
("結果:"
,c) c++
}}
break
break用於中止某個語句塊的執行,用於中斷當前for迴圈或 switch語句
可以通過標籤,指明要中止哪一層的for迴圈
預設跳出最近的for迴圈
continue
用於結束本次迴圈,直接開始下一次迴圈
多層迴圈巢狀時可以通過標籤 指定跳過哪一層的迴圈
goto
goto 可以無條件讓程式轉到指定位置執行
通常和條件語句配合使用,用來實現 條件轉移和跳出迴圈等功能
一般不推薦使用goto,容易造成 程式流程混亂
return
用於跳出所在的方法或函式
示例**
func
test10()
if i==
3if i ==
5&& j ==2}
}
04 流程控制
1.為什麼要有if判斷?1.1判斷事物的對錯,真假,是否可行,想讓計算機像人一樣去工作,那麼計算機也應該有對事物的對錯,真假,是否可行的判 斷能力,從而做出不同的響應。2.固定語法 python用同一縮排的 表示 塊 補充 布林值false的值為 0,none,空 空列表 字典 集合 字串 2.1布...
04 流程控制
流程控制的作用 流程控制語句是用來控制程式中各語句執行順序的語句,可以把語句組合成能完成一定功能的小邏輯模組 控制語句的分類 1.順序結構 先執行a,再執行b 2.條件判斷結構 分支結構 如果.則.3.迴圈結構 如果.則再繼續.1.語法結構 if 布林表示式 2.if 語句對布林表示式進行一次判定,...
程式流程控制
1 順序結構 程式從上到下一行一行執行的結構,中間沒有判斷和跳轉,直到程式結束。2 if條件語句 應用格式一 if 條件語句 執行語句塊 應用格式二 if 條件語句 執行語句塊1 elseelse if 條件語句2 執行語句塊2 else if 條件語句n 執行語句塊n else 執行語句塊n 1 ...