=和:=操作符之间的区别是什么,它们的用例是什么?他们似乎都是来执行任务的?
当前回答
:=表示声明和赋值,而=表示简单地赋值。
其他回答
:=声明并赋值,=只是赋值
当您不想用类型或结构声明填充代码时,它很有用。
// Usage with =
var i int
var U, V, W float64
var k = 0
var x, y float32 = -1, -2
// Usage with :=
i, j := 0, 10
f := func() int { return 7 }
ch := make(chan int)
:=是声明的简写。
a := 10
b := "gopher"
A将被声明为int并初始化为值10,其中as b将被声明为字符串并初始化为值gopher。
它们的等价物使用=将是
var a = 10
var b = "gopher"
=是赋值运算符。它的使用方式与你在任何其他语言中使用它的方式相同。
当声明变量并且有初始化式时,可以省略该类型(http://tour.golang.org/#11)。
在去 :=也用于声明和赋值 而=仅用于赋值运算
例如:
var s string = "Omkar"
s:= "Omkar"
在Go中,:=用于声明+赋值,而=仅用于赋值。
例如,var foo int = 10与foo:= 10相同。
参考文档:(tour.golang.org)
在函数内部,:=短赋值语句可以用来代替隐式类型的var声明。
在函数之外,每个构造都以关键字(var、func等)开头,并且:=构造不可用。