07.02-回傳多個值

Go 語言的函式可以傳回多個值:

func f() (int, int) {
    return 5, 6
}

func main() {
    x, y := f()
}

不過需要有三個改變:傳回值的型別要改成放多個型別,而且每個型別之間要使用 , 隔開,在 return 之後的傳回值也要調整,改成使用 , 將傳回值隔開。最後一點是,接收函式多個傳回值的變數會在函式的左邊(:==),並且一樣分別用 , 隔開。

通常需要傳回多個傳回值的時機是:需要同時傳回錯誤碼與結果(x, err := f()),或者是用一個布林值(boolean)來代表成功時 (x, ok := f())。

Last updated