なんか地味にハマってしまった。
同じ名前の変数を、入れ子になったスコープで新しく定義した時は別参照になるのか…。
package main
var dummy int = 1
func main() {
variable := "outside"
if dummy == 1 {
variable := "inside"
println("variable:", variable)
// variable: inside
}
println("variable:", variable)
// variable: outside
}
もちろん内部スコープから、外側の変数は参照できる。(当たり前だけど)
package main
var dummy int = 1
func main() {
variable := "outside"
if dummy == 1 {
variable = "inside"
println("variable:", variable)
// variable: inside
}
println("variable:", variable)
// variable: inside
}
ん、なんか地味にハマった。名前衝突でエラーにならないのかー。