到目前為止,我們都是將程式寫在 func main() {}
這個主要 function 內
簡單的小程式寫在 main 裡面可能還行,但是當程式規模再變稍大時,可能就不適合了
今天就來介紹要怎麼寫 Go 的 functions~
func basicFunction() {
// 這個 function 要做的事情
}
func OneParameterFunction(i int) {
// 這個 function 要做的事情
}
func MoreParametersFunction(i int, s string) {
// 這個 function 要做的事情
}
func MoreParametersFunction(i int, s string, f float64) {
// 這個 function 要做的事情
}
什麼叫做「不定長度的參數」呢?
就是長度不一,可能一下會是 2 個,一下會是 4 個之類的
這時候,就可以利用 Go 的 ...
來進行參數傳遞
func LengthNonFixedFunction(x ...int) {
for _, v := range x {
fmt.Println(v)
}
}
呼叫時,就可以像下面這樣
LengthNonFixedFunction(1)
/* 輸出結果:
1
*/
LengthNonFixedFunction(1, 2)
/* 輸出結果:
1
2
*/
LengthNonFixedFunction(1, 2, 3)
/* 輸出結果:
1
2
3
*/
func OneReturnValueFunction() string {
return "這個 Function 只有一個回傳值"
}
func MoreReturnValuesFunction() (string, string) {
return "回傳值ㄧ", "回傳值二"
}
func MoreReturnValuesFunction() (string, string, string) {
return "回傳值ㄧ", "回傳值二", "回傳值三"
}
func ReturnValueNamedFunction() (s string) {
s = "Hello World"
return
}
帶有 receiver 的 functions 稱為 method,這個我們明天再來介紹~
今天簡單介紹了 Go 的 functions 的各種寫法
下一篇會來介紹 functions 的好朋友 method~
明天見~