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

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

Mary-Kate Olsen
發布: 2024-12-27 19:53:10
原創
721 人瀏覽過

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板