GO 函式 方法

2021-10-03 12:08:18 字數 1176 閱讀 3655

2、方法

實參通過值的方式傳遞,因此函式的形參是實參的拷貝。對形參進行修改不會影響實參

如果實參包括引用型別,如指標slice(切片)mapfunctionchannel等型別,實參可能會由於函式的間接引用被修改。

沒有函式體的函式宣告,這表示該函式不是以go實現的。這樣的宣告定義了函式識別符號。

在go中,乙個函式可以返回多個值

函式型別的零值是nil,函式值可以與nil比較。函式值之間是不可比較的,也不能用函式值作為map的key。

為什麼函式值之間不能比較的原因(具體參考原文):

可變引數函式和以切片作為引數的函式是不同的,可變引數函式經常被用於格式化字串。

inte***c{}表示函式的最後乙個引數可以接收任意型別

某些方法如果發生錯誤會返回錯誤的一些資訊(內建的error是介面型別),比如說:

1、在函式宣告時,在其名字之前放上乙個變數,即是乙個方法。

這樣宣告的是 point類下的point.distance方法。

func

(p point)

distance

(q point)

float64

上面的**裡那個附加的引數p,叫做方法的接收器(receiver)

這種p.distance的表示式叫做選擇器,因為他會選擇合適的對應p這個物件的distance方法來執行。

2、傳統的方法,這樣宣告的是包級別的函式。

// traditional function

func

distance

(p, q point)

float64

Go 語言函式方法

go 語言中同時有函式和方法。乙個方法就是乙個包含了接受者的函式,接受者可以是命名型別或者結構體型別的乙個值或者是乙個指標。所有給定型別的方法屬於該型別的方法集。語法格式如下 func variable name variable data type function name return typ...

GO學習之 函式和方法

1 冗餘 2 不利於維護 3 函式可以解決這個問題 為完成某一功能的程式指令 語句 的集合,稱為函式。在go中,函式分為 自定義函式 系統函式 基本語法 func 函式名 形參列表 返回值型別列表 return res func main 1 在實際開發中,我們往往需要在不同的檔案中,去呼叫其它檔案...

Go基礎 控制流程 函式 方法

if 語句 func main else if age 18 age 30 else 特殊寫法 此種方式if 外面訪問不了age if age 18 age 18 else if age 18 age 30 else for 語句 func main var i 5 for i 10 i var i...