GO語言學習筆記(七、function)

函數function

Go函數不支持嵌套、重載和默認參數

但支持以下特性:

無需聲明原型、不定長度變參、多返回值、命名返回值參數、匿名函數、閉包

定義函數使用關鍵字func,且左大括號不能另起一行

函數也可以作爲一種類型使用

閉包

defer

defer的執行方式類似其它語言中的析構函數,在函數體執行結束後按照調用順序的相反順序逐個執行

即使函數發生嚴重錯誤也會執行

支持匿名函數的調用

常用於資源管理、文件關閉、解鎖以及記錄時間等操作

通過與匿名函數配合可在return之後修改函數計算結果

如果函數體內某個變量作爲defer時匿名函數的參數,則在定義defer時即已經獲得了拷貝,否則則是引用某個變量的地址

Go沒有異常機制,但有panic/recover模式來處理錯誤

Panic可以在任何地方引發,但recover只有在defer調用的函數中有效

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章