Я привык программировать на 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? А если нельзя, то почему?