兄弟連go教程(11)函式 - 函式定義
不⽀支援 巢狀 (nested)、過載 (overload) 和 預設引數 (default parameter)。
•⽆無需宣告原型。
•⽀支援不定⻓長變參。
•⽀支援多返回值。
•⽀支援命名返回引數。
•⽀支援匿名函式和閉包。
使⽤用關鍵字 func 定義函式,左⼤大括號依舊不能另起⼀一⾏行。
函式是第⼀一類物件,可作為引數傳遞。建議將複雜簽名定義為函式型別,以便於閱讀。
•⽆無需宣告原型。
•⽀支援不定⻓長變參。
•⽀支援多返回值。
•⽀支援命名返回引數。
•⽀支援匿名函式和閉包。
使⽤用關鍵字 func 定義函式,左⼤大括號依舊不能另起⼀一⾏行。
func test(x, y int, s string) (int, string) { // 型別相同的相鄰引數可合併。
n := x + y // 多返回值必須⽤用括號。
return n, fmt.Sprintf(s, n)
}
函式是第⼀一類物件,可作為引數傳遞。建議將複雜簽名定義為函式型別,以便於閱讀。
func test(fn func() int) int {
return fn()
}
type FormatFunc func(s string, x, y int) string // 定義函式型別。
func format(fn FormatFunc, s string, x, y int) string {
return fn(s, x, y)
}
func main() {
s1 := test(func() int { return 100 }) // 直接將匿名函式當引數。
s2 := format(func(s string, x, y int) string {
return fmt.Sprintf(s, x, y)
}, "%d, %d", 10, 20)
println(s1, s2)
}
有返回值的函式,必須有明確的終⽌止語句,否則會引發編譯錯誤。
尹成老師
QQ77025077
微信18510341407
所有視訊在尹成學院
www.yinchengxueyuan.com
尹成百度雲請聯絡QQ475318423
相關文章
- 兄弟連go教程(14)函式 - 匿名函式Go函式
- 兄弟連go教程(12)函式 - 變參Go函式
- 兄弟連go教程(13)函式 返回值Go函式
- 兄弟連go教程(15)函式 - 延遲呼叫Go函式
- 兄弟連go教程(15)函式 - 錯誤處理Go函式
- 02_函式定義及使用函式函式
- 如何在函式內部定義函式?函式
- 兄弟連go教程(10)表示式 - 控制流Go
- 什麼是Python函式?如何定義函式?Python函式
- C++入門教程(12):定義函式C++函式
- 人人都能學會的python程式設計教程11:定義函式Python程式設計函式
- python教程:自定義函式Python函式
- python---函式定義Python函式
- python如何定義函式Python函式
- 函式引數 引數定義函式型別函式型別
- 第 8 節:函式-函式定義和引數函式
- 兄弟連go教程(9)表示式-初始化Go
- Python巢狀定義函式增強reduce()函式功能Python巢狀函式
- qt之函式重定義QT函式
- ts函式約束定義函式
- 在jQuery定義自己函式jQuery函式
- 兄弟連go教程(8)表示式--保留字;運算子Go
- Hive常用函式及自定義函式Hive函式
- 兄弟連go教程(7)自定義型別Go型別
- makefile--函式定義與呼叫函式
- Python如何定義一個函式Python函式
- Hive函式(內建函式+自定義標準函式UDF)Hive函式
- Go init 函式Go函式
- Go 匿名函式Go函式
- 清華尹成帶你實戰GO案例(31)Go 函式定義Go函式
- java自定義equals函式和hashCode函式Java函式
- C++入門教程(11):呼叫函式C++函式
- 方法(函式)的定義與引數函式
- Python騷操作:動態定義函式Python函式
- Shell中函式的定義和使用函式
- TS定義陣列 ts宣告函式陣列函式
- 關於變數的宣告和定義、內部函式和外部函式變數函式
- PHP 自定義函式用法及常用函式集合PHP函式