GO語言學習筆記(七 function)

2021-10-02 10:50:04 字數 863 閱讀 8737

函式function

go函式不支援巢狀、過載和預設引數

但支援以下特性:

無需宣告原型、不定長度變參、多返回值、命名返回值引數、匿名函式、閉包

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

函式也可以作為一種型別使用

閉包

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

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

支援匿名函式的呼叫

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

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

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

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

panic可以在任何地方引發,但recover只有在defer呼叫的函式中有效

Go語言學習筆記 七

注意 有些時候我會省略main函式 1 func functionnanme parametername type returntype 其中引數列表和返回值列表是可選 兩個數相加 1 func add a int,b int int5 func main 多返回值 1 func calc a,b ...

go語言學習筆記

type info struct func main fmt.println info1 data,json.marshal info1 fmt.println string data 輸出 這裡要特別注意的是 json 冒號後面和雙引號之間千萬不要有空格!被坑慘了 go語言 import的包的前面...

Go語言 學習筆記

import 下劃線 如 import hello imp 的作用 當匯入乙個包時,該包下的檔案裡所有init 函式都會被執行,然而,有些時候我們並不需要把整個包都匯入進來,僅僅是是希望它執行init 函式而已。這個時候就可以使用 import 引用該包。即使用 import 包路徑 只是引用該包,...