go 函數可接收多個參數,并可返回零至多個值。返回值規則:無顯式返回時,默認返回 nil。未聲明返回值時,函數不可返回任何值。多個返回值時,需同時返回所有值。聲明 error 返回值時,必須返回 nil 或帶有錯誤信息的 error。
Go 函數的返回值規則
入參和返回值
在 Go 語言中,函數可以接收多個參數,并且可以返回零個或多個值。參數和返回值的類型必須在函數簽名中明確聲明。
返回值規則
Go 函數的返回值規則如下:
如果函數沒有顯式返回,則認為其返回 nil。
如果函數聲明不包含返回值,則函數不能返回任何值。
如果函數聲明包含多個返回值,則必須同時返回所有這些值。
如果函數聲明包含 error 類型的返回值,則函數必須返回 nil 或包含錯誤信息的 error。
實戰案例:計算最大值
以下是一個演示如何使用返回值規則的實戰案例:
package main
import "fmt"
// 返回最大值的函數
func max(a, b int) (max int, err error) {
if a > b {
return a, nil
} else if b > a {
return b, nil
} else {
return 0, fmt.Errorf("無法確定最大值:a 和 b 相等")
}
}
func main() {
// 調用 max 函數并處理返回值
x, err := max(10, 20)
if err != nil {
fmt.Println(err)
} else {
fmt.Println("最大值:", x)
}
}
登錄后復制
在上面的例子中:
函數 max 返回兩個值:最大的元素和一個錯誤。
main 函數調用 max,并使用變量 x 和 err 來接收返回值。
如果函數返回錯誤,它將被打印。否則,將打印最大的元素。






