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
來接收返回值。
如果函數返回錯誤,它將被打印。否則,將打印最大的元素。