一个简单的例子:
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()))
}
为什么?我只是在测试语言的边界并学习它在某些方面的灵活性。
相关分类