This question already has answers here:
Why there are two ways of declaring variables in Go, what's the difference and which to use?
(1 个回答)
var vs := in Go
(3 个回答)
2年前关闭。
下面两个例子有什么区别吗?
对比
有更好的吗?
谢谢!
当您需要定义一个没有任何初始化的变量时使用
使用
(1 个回答)
var vs := in Go
(3 个回答)
2年前关闭。
下面两个例子有什么区别吗?
type Example struct {}
func main() {
e := Example{}
}
对比
type Example struct {}
func main() {
var e Example
}
有更好的吗?
谢谢!
最佳答案
可能值得注意:
当您需要创建具有定义值的变量时,请使用 :=
。
number := 12
obj := SomeStruct{name: "user"}
slice := []string{"a", "b", "c"}
someNilPointerData := (*SomeStruct)(nil)
当您需要定义一个没有任何初始化的变量时使用
var
关键字,因此将在其上使用零值。var a int // zero value of int is 0
var mut sync.Mutex
var result []map[string]interface{}
使用
var
关键字的另一个优点,在单个语句中创建多个相同类型的变量。var result1, result2, result3, result4 []map[string]interface{}
var
关键字还可用于将某些文字值存储在具有不同数据类型的变量中。// store string literal value in interface{} variable
var anyValue interface{} = "hello world"
// store int literal value in float64 variable
var otherValue float64 = 12
关于go - 何时使用 var 或 := in Go?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53404305/
10-16 23:01