go 函數(shù)可接收多個參數(shù),并可返回零至多個值。返回值規(guī)則:無顯式返回時,默認(rèn)返回 nil。未聲明返回值時,函數(shù)不可返回任何值。多個返回值時,需同時返回所有值。聲明 error 返回值時,必須返回 nil 或帶有錯誤信息的 error。
Go 函數(shù)的返回值規(guī)則
入?yún)⒑头祷刂?/strong>
在 Go 語言中,函數(shù)可以接收多個參數(shù),并且可以返回零個或多個值。參數(shù)和返回值的類型必須在函數(shù)簽名中明確聲明。
返回值規(guī)則
Go 函數(shù)的返回值規(guī)則如下:
如果函數(shù)沒有顯式返回,則認(rèn)為其返回 nil
。
如果函數(shù)聲明不包含返回值,則函數(shù)不能返回任何值。
如果函數(shù)聲明包含多個返回值,則必須同時返回所有這些值。
如果函數(shù)聲明包含 error
類型的返回值,則函數(shù)必須返回 nil
或包含錯誤信息的 error
。
實戰(zhàn)案例:計算最大值
以下是一個演示如何使用返回值規(guī)則的實戰(zhàn)案例:
package main import "fmt" // 返回最大值的函數(shù) 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() { // 調(diào)用 max 函數(shù)并處理返回值 x, err := max(10, 20) if err != nil { fmt.Println(err) } else { fmt.Println("最大值:", x) } }
登錄后復(fù)制
在上面的例子中:
函數(shù) max
返回兩個值:最大的元素和一個錯誤。
main
函數(shù)調(diào)用 max
,并使用變量 x
和 err
來接收返回值。
如果函數(shù)返回錯誤,它將被打印。否則,將打印最大的元素。