Я привык к программированию в JavaScript, где я могу сделать следующее, чтобы передать аргумент в немедленно вызываемой функции выражение:Передача аргумента Go IIFE (после яваскрипта примера)
(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? И если это невозможно, почему бы и нет?
О, конечно, это очевидно сейчас, я не могу поверить, что я пропустил это! Спасибо за помощь в любом случае, поддержали и приняли. – user162097