在顶层,请使用标准的var关键字。不要指定类型,除非它与右侧的表达式不是同一类型。
Bad
// F()返回的是string类型,var 定义的变量也是string类型
var _s string = F()
func F() string { return "A" }
Good
//首先,希望变量 _s 的类型是 string
var _s = F()
// 既然F已经声明它返回一个string,因此我们没有必要再指定变量 _s 的类型了
func F() string { return "A" }
如果表达式的类型与所需类型不完全匹配,则需要指定类型。
//自定义错误类型
type myError struct{}
func (myError) Error() string { return "error" }
//F()返回的是 myError 类型
func F() myError { return myError{} }
var _e error = F()
// F 返回了myError类型的对象,但是我们想要error类型,不一致,所以要指定变量类型.
本文介绍了在Go语言中如何正确地声明变量,强调了在大多数情况下应避免显式指定变量类型,除非表达式的类型与期望的类型不符。通过示例对比了正确的变量声明方式与不当的做法。

被折叠的 条评论
为什么被折叠?



