首頁 >後端開發 >Golang >如何在 Go 中將多個返回值傳遞給可變參數函數?

如何在 Go 中將多個返回值傳遞給可變參數函數?

Mary-Kate Olsen
Mary-Kate Olsen原創
2024-12-27 19:53:10722瀏覽

How to Pass Multiple Return Values to a Variadic Function in Go?

將多個回傳值傳遞給可變參數函數

問題:

問題:

問題:

  1. 問題:
  2. 問題:

問題:
func wrap(vs ...interface{}) []interface{} {
    return vs
}

func twoInts() (int, int) {
    return 1, 2
}

func main() {
    fmt.Printf("first= %d and second = %d", wrap(twoInts()...)...)
}

問題:

    問題:
  • 問題:
你有機會傳回兩個整數並希望在fmt.Println() 中使用字串格式列印這兩個值的函數稱呼。然而,Go 預設不支援這種方法。 解:雖然你不能直接將多個回傳值傳遞給fmt.Println(),但你可以使用一個技巧來實作與fmt. Printf() 相同的結果:建立一個實用函數, wrap(),它接受可變數量的輸入並返回[]interface{} 的切片。 使用函數的回傳值呼叫wrapp(),並將它們作為單獨的參數傳遞。 將結果切片傳遞給fmt.Printf() 作為可變參數的值....這是一個範例:此方法可讓您將多個返回值傳遞給可變參數函數,使您能夠在fmt.Printf() 中使用字串格式列印它們。 注意:fmt.Println() 仍然可以與至少傳回一個的函數一起使用值,因為它會自動將多餘的回傳值分配給其可變參數。 wrap() 實用函數可以泛化為處理具有任意數量回傳值的函數。 有關更多見解,請參閱有關單值上下文中的多個值以及在 Go 函數中傳回類似映射的「ok」值的相關問題。

以上是如何在 Go 中將多個返回值傳遞給可變參數函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn