### 歡迎訪問我的GitHub > 這裡分類和彙總了欣宸的全部原創(含配套源碼):[https://github.com/zq2599/blog_demos](https://github.com/zq2599/blog_demos) ### 本篇概覽 - 本文是《quarkus實戰》系列的第七篇 ...
在 Go 語言中,函數是一種代碼抽象和復用的方式。函數可以接受參數,執行特定的操作,並返回結果。
函數的定義
函數的定義以 func
關鍵字開始,後面跟著函數名、參數列表、返回值列表(可選)以及函數體。下麵是一個函數定義的例子:
func greet(name string) {
fmt.Println("Hello, " + name)
}
這個函數接受一個類型為 string
的參數 name
,然後輸出一句問候語。
函數的調用
你可以通過函數名以及參數列表來調用函數。例如:
greet("Go")
這將輸出 "Hello, Go"。
返回值
函數可以返回一個或多個結果。你可以在函數定義中指定返回值的類型,然後使用 return
語句來返回結果。例如:
func add(a int, b int) int {
return a + b
}
這個函數接受兩個 int
類型的參數,然後返回它們的和。你可以這樣調用它:
result := add(1, 2)
fmt.Println(result) // 輸出 3
函數還可以返回多個結果。例如,下麵的函數返回兩個 int
類型的結果:
func swap(a int, b int) (int, int) {
return b, a
}
你可以這樣調用它:
x, y := swap(1, 2)
fmt.Println(x, y) // 輸出 2 1
匿名函數和閉包
Go 語言支持匿名函數和閉包。匿名函數就是沒有名字的函數,你可以直接定義並調用它。例如:
func() {
fmt.Println("Hello, Go")
}() // 輸出 "Hello, Go"
閉包是一個函數和它相關的引用環境組合的一個整體(實體)。閉包可以捕獲並存儲其外部作用域中的變數,下麵是一個創建閉包的例子:
func makeAdder(x int) func(int) int {
return func(y int) int {
return x + y
}
}
adder := makeAdder(1)
fmt.Println(adder(2)) // 輸出 3
以上就是 Go 語言中函數的基本使用。函數是 Go 語言中非常重要的部分,通過定義和使用函數,你可以抽象和組織你的代碼,使其更易於理解和維護。
推薦閱讀:
https://mp.weixin.qq.com/s/dV2JzXfgjDdCmWRmE0glDA
https://mp.weixin.qq.com/s/an83QZOWXHqll3SGPYTL5g