This works fine:
package main
var foo string
func main() {
fn := func() {
foo = "AAA"
}
fn()
}
But if we move the variable declaration inside main()
:
package main
func main() {
var foo string
fn := func() {
foo = "AAA"
}
fn()
}
— then it rants “foo declared and not used”.
Why so?
1