函式是一段具有名稱的程式碼塊,其中包含一些指令。

在「Hello, World!」的範例中,我們建立了一個 main 函式,這是程式的入口點。

package main

import "fmt"

func main() {
 fmt.Println("Hello, World!")
}

這是一個特殊的函式。

通常,我們會給函式取一個自訂的名稱:

func doSomething() {

}

然後你可以呼叫它:

doSomething()

函式可以接受參數,我們必須像這樣設定參數的型別:

func doSomething(a int, b int) {

}

doSomething(1, 2)

ab 是我們內部與函式相關聯的參數名稱。

函式可以返回一個值,像這樣:

func sumTwoNumbers(a int, b int) int {
 return a + b
}

result := sumTwoNumbers(1, 2)

請注意我們指定了返回值的 型別

在 Go 中,函式可以返回超過一個值:

func performOperations(a int, b int) (int, int) {
 return a + b, a - b
}

sum, diff := performOperations(1, 2)

這很有趣,因為許多語言只允許返回一個值。

在函式內定義的任何變數都是局部變數。

函式也可以接受無限數量的參數,在這種情況下,我們稱之為「可變參數函式」:

func sumNumbers(numbers ...int) int {
 sum := 0
 for _, number := range numbers {
 sum += number
 }
 return sum
}

total := sumNumbers(1, 2, 3, 4)