是否可以在 Go 中的单值上下文中选择性地获取返回值?

一个简单的例子:


package main


import "fmt"


func hereTakeTwo() (x, y int) {

    x = 0

    y = 1

    return

}


func gimmeOnePlease(x int){

    fmt.Println(x)

}


func main() {

    gimmeOnePlease(hereTakeTwo()) // fix me

}

是否可以只传递第一个返回值hereTakeTwo() 而不使用显式_赋值?我想避免的例子:


func main() {

    okJustOne, _ := hereTakeTwo()

    gimmeOnePlease(okJustOne)

}

我想要的是使gimmeOnePlease函数能够接收未定义数量的参数,但只采用第一个或一种调用hereTakeTwo函数的方法,并且只获取第一个返回值,而无需使用_赋值。


或者作为最后的手段(疯狂的想法)使用某种适配器函数,它需要 N args 并且只返回第一个,并且有类似的东西:


func main() {

    gimmeOnePlease(adapter(hereTakeTwo()))

}

为什么?我只是在测试语言的边界并学习它在某些方面的灵活性。


杨__羊羊
浏览 155回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go