【问题标题】:Send Return Value directly to Channel将返回值直接发送到 Channel
【发布时间】:2014-11-16 23:25:31
【问题描述】:

是否可以将函数的返回值直接发送到 golang 通道?以下不起作用:

BytesOutChan<-, err = bufio.NewWriter(conn).Write(...)

有没有办法做到这一点?如果做不到这一点,有没有办法自动添加到变量中?例如,在 C 中你可以这样做:

myInt += fReturnsInt();

你可以用 golang 做这个,但是有可能有多个返回值吗?这将大大减少我的代码的冗长。

提前致谢。

【问题讨论】:

    标签: go return-value channel


    【解决方案1】:

    Go 语言目前没有提供任何特殊语法来做你想做的事。

    【讨论】:

    • 该死的,我希望他们这样做。现在我必须做一个非常冗长的过程来存储返回值,把它加起来,发送一个通道。那好吧。我会在邮件列表中提出建议。
    • @JesseBrands 不过,这怎么可能?在没有错误的情况下,没关系,在其他情况下,其他返回项目可能是垃圾,那么该分配应该发生什么?它们不一定是零值。如果您从不关心错误并且可以处理返回的任何值,也许只需提供一些包装器?
    • @JasonCoco 这也是我后来意识到的。我想到了一个错误,该函数无论如何都会返回一个 0 值。
    猜你喜欢
    • 1970-01-01
    • 2015-07-26
    • 1970-01-01
    • 1970-01-01
    • 2018-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-08-29
    相关资源
    最近更新 更多