【问题标题】:Passing argument to Go IIFE (following javascript example)将参数传递给 Go IIFE(以下 javascript 示例)
【发布时间】:2017-02-26 04:16:27
【问题描述】:

我习惯于使用 javascript 编程,我可以执行以下操作将参数传递给立即调用的函数表达式:

(function(twoSeconds) {
    // do something with "twoSeconds" here
})(2 * 1000);

所以我希望能够在 Go 中做类似的事情,如下所示。但是,它似乎不起作用。

func (twoSeconds) {
    // build error: "twoSeconds" undefined
}(time.Second * 2)

所以我必须这样做:

func () {
    twoSeconds := time.Second * 2
}()

因此,我的问题是如何将参数传递给 Go IIFE?如果不可能,为什么不呢?

【问题讨论】:

    标签: javascript go iife


    【解决方案1】:

    Go 中的函数参数需要类型。因此,请执行以下操作:

    func(twoSeconds time.Duration) {
        // use twoSeconds
    }(time.Second * 2)
    

    【讨论】:

    • 哦,当然,这很明显,我不敢相信我错过了!无论如何,感谢您的帮助,赞成并接受。
    猜你喜欢
    • 1970-01-01
    • 2017-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-02
    • 2016-01-16
    • 1970-01-01
    相关资源
    最近更新 更多