我习惯于使用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?如果不可能,为什么呢?