var f os.File
if f, err := os.Open("file"); err != nil { //分号没有被括号包含,感觉分号后面像是另外一行
}
其它语言中if中都没有分号,怎么go看起来怪怪的
有疑问加站长微信联系(非本文作者)

var f os.File
if f, err := os.Open("file"); err != nil { //分号没有被括号包含,感觉分号后面像是另外一行
}
其它语言中if中都没有分号,怎么go看起来怪怪的
有疑问加站长微信联系(非本文作者)
if后面既然能用分号,那是否可以用多个分号?
if a,b := 1,2;a==1;b==2{ //用多个分号就报错
fmt.Println(a,b)
}
貌似只能用1个分号
入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889
`单行代码`
你的第一段代码是有问题的。应该会提示 f declared and not used。指的是var f os.File声明的变量f没有使用。
if语句中的前面的分号部分,实际是初始化变量用的,你使用 := 相当于又声明了一个局部变量f。
我也验证了下,if中的那个f确实是局部变量,才发现这点
先把 tour of go 看完吧,你这个问题在 这里 说得很明白
谢谢,打不开tour of go,能指教下吗?
被墙了,包括 golang.org 也被墙了,你可以用梯子看。
不过你可以看顶部菜单的“官方文档-->Go 指南”,effective go 在 “官方文档-->中文文档-->文档-->实效 Go 编程”中。
谢谢!
可以看看这个,有需要的话 https://cloud.tencent.com/developer/doc/1101