golang吧 关注:6,540贴子:14,777
  • 1回复贴,共1

如果可以这样改进

只看楼主收藏回复

go函数支持多个返回值,这是非常方便的,但有时一个函数的某个返回值作为一个参数传递给另外一个函数时,就很麻烦了,比如:
func func1()(r int, err error) {
...
{
func func2(p1 int) string {
...
}
func main(){
rr,_ = func1()
fmt.Println(func2(rr))
}
麻烦在于,必须要有一个rr,_ := func1()这样的调用。
是否能够支持下面这样的语法呢?
func main() {
fmt.Println(func2(func1().$0))
}
很方便。


1楼2014-03-24 00:12回复
    我不赞同,把一个简单问题复杂化了,既然你把函数写成多返回值,又要当一个返回值用是不合理的。


    IP属地:浙江来自Android客户端2楼2014-03-25 10:04
    回复