Golang學習筆記 基本控制流程

2021-10-06 17:26:34 字數 970 閱讀 6072

基本控制流程

**塊switch

for與range

defer

panic和recover

參考文件

有花括號構成

重新宣告外層**塊宣告過的識別符號,此時外層空間外層**塊的那個同名識別符號被遮蔽了

func main() 

}}

同乙個case後面可以接多個表示式,關係為或

fallthrought向下乙個case轉移流程控制權

對字串的range為rune(之前的用法可能有一些問題,應該轉為byte再range)

對map進行range順序是不一定的

對chan進行range,只有乙個返回值,

可以對nil的silce和map進行range操作,只是沒東西,

對nil的通道進行迭代,會導致當前流程永遠阻塞在for語句上

延遲呼叫指定函式

順序:所有defer;返回;將執行時恐慌擴散至函式呼叫處

同乙個函式裡面多個defer對應函式的呼叫順序:與defer執行順序相反(先進後出)

defer後面的函式要使用外部變數,應該使用引數傳遞

//示例1:輸出55555

func main() ()

}}

//示例2:輸出43210

func main() (i)

}}

手動停止當前流程並引發乙個執行時恐慌(執行時恐慌不一定是panic引發的,有可能是go的執行時系統引發的,比如index out of range)

panic()的引數可以是任務型別,一般是string或者error

用p := recover()來攔截執行時恐慌,有恐慌的時候p為非nil,用panic觸發時p等於inte***ce(panic的引數)

《go併發程式設計實戰(第2版)》——郝林

Python筆記 基本控制流

python 基本控制流 一 分支1 if語句 基本的條件測試語句,用來判斷可能遇到的不同情況,並針對不同的情況進行操作 基本形式 if 條 語elif 條 語else 語注意縮排,python 根據縮排判斷 elif和else 部分是可選的 關係運算子 以及and or not 例子 a 1 b ...

Python筆記 基本控制流

python 基本控制流 一 分支 1 if語句 基本的條件測試語句,用來判斷可能遇到的不同情況,並針對不同的情況進行操作 基本形式 if 條 語elif 條 語else 語注意縮排,python 根據縮排判斷,elif和else部分是可選的 關係運算子 以及and or not 例子 a 1 b ...

rust學習筆記 控制流

if與其他語言類似 fn main else rust的if只能判斷布林型別,錯誤 如下 fn main 報錯 cargo run compiling branches v0.1.0 file projects branches error e0308 mismatched types src ma...