go語言的函式本身可以作為值進行傳遞,既支援匿名函式和閉包,又能滿足介面。
func 函式名 (引數列表)(返回引數列表)func funcname(parametername type1,parametername type2 ...)(output1 type1 , utput2 type2)
在引數列表中,如果有多個引數變數,則以逗號分隔;如果相鄰變數是同型別,則可以將型別省略
func add(a,b int)
go語言程式中全域性變數與區域性變數名稱可以相同,但是函式內的區域性變數會被優先考慮。
在go語言中,函式也是一種型別,可以和其他型別(如int32、float等等)一樣被儲存在變數
go語言支援匿名函式,即在需要使用函式時再定義函式。匿名函式沒有函式名,只有函式體,函式可以作為一種型別被賦值給變數,匿名函式也往往以變數方式被傳遞。
匿名函式經常被用於實現**函式,閉包等。
func(引數列表) (返回引數列表)
1. 在定義時調匿名函式
package mainimport (
"fmt")
func main() (
"huahua")
}
2. 將匿名函式賦值給變數
package mainimport
"fmt"//
將匿名函式賦值給變數
func main()
f("sixinshuier")
}
3. 匿名函式用作**函式
package mainimport (
"fmt""
math")
func main()
//求平方
visit(arr, func(v float64) )
//求平方跟
visit(arr,func(v float64))
}func visit(list float64, f func(float64))
}
Go方法與指標
go 沒有類。不過你可以為結構體型別定義方法。方法就是一類帶特殊的 接收者 引數的函式。方法接收者在它自己的引數列表內,位於 func 關鍵字和方法名之間。在此例中,abs 方法擁有乙個名為 v,型別為 vertex 的接收者。package main import fmt math type ve...
函式指標與指標函式
指標函式 指標函式是指函式的返回值型別是乙個指標型別,即本質是乙個函式。我們知道函式都有返回型別 如果不返回值,則為無值型 只不過指標函式返回型別是某一型別的指標。其定義格式如下所示 返回型別識別符號 返回名稱 形式參數列 返回型別可以是任何基本型別和復合型別。返回指標的函式的用途十分廣泛。事實上,...
函式指標與指標函式
函式指標 在程式執行中,函式 是程式的演算法指令部分,它們和陣列一樣也占用儲存空間,都有相應的位址。可以使用指標變數指向陣列的首位址,也可以使用指標變數指向函式 的首位址,指向函式 首位址的指標變數稱為函式指標。1 函式指標定義 函式型別 指標變數名 形參列表 函式型別 說明函式的返回型別,由於 的...