if中用分号是否奇怪?

taatcc · · 6527 次点击
先把 [tour of go](https://tour.golang.org/list) 看完吧,你这个问题在 [这里](https://tour.golang.org/flowcontrol/6) 说得很明白
#3
更多评论
你的第一段代码是有问题的。应该会提示 f declared and not used。指的是var f os.File声明的变量f没有使用。 if语句中的前面的分号部分,实际是初始化变量用的,你使用 := 相当于又声明了一个局部变量f。
#1
我也验证了下,if中的那个f确实是局部变量,才发现这点
#2