首页 > 用Go语言进行链式调用,如何实现在其中一个调用报错后直接返回,不执行后面的调用?

用Go语言进行链式调用,如何实现在其中一个调用报错后直接返回,不执行后面的调用?

比如,v := a(x).b(y).c(z),假如b(y)出错了,如何不执行实现不运行c(z)直接返回?
使用panic如果不recover整个程序就崩掉了,如果在b(y)里面recover还是要运行c(z),如果在外面recover就不优美了。


看起来你需要 PHP 7 或者 Swift 的 Null coalescing operator 呢。当然了,这种东西 Haskell 也是良好支持的。

【热门文章】
【热门文章】