Golang 短变量声明操作符(:=)
Golang中的短变量声明操作符(:=)是用来创建具有适当名称和初始值的变量。使用这个操作符的主要目的是在函数中声明和初始化 局部变量 ,并缩小变量的范围。变量的类型由表达式的类型决定。var关键字也用于创建特定类型的变量。所以你可以说,在Golang中有两种创建变量的方法,如下。
- 使用var关键字
- 使用简短的变量声明操作符(:=)。
在这篇文章中,我们将只讨论短变量声明操作符。要了解var关键字,你可以参考 Go中的var关键字。 你也可以阅读 var关键字和短变量声明操作符之间的区别 ,以正确理解两者的使用。
使用短变量声明操作符的语法 。
在这里,你必须在声明后就初始化变量。但是使用var关键字,你可以避免在声明时进行初始化。 没有必要提及变量的类型。 右手边的表达式或值用于评估变量的类型。
例子: 在这里,我们使用short declaration操作符来声明变量,我们没有指定变量的类型。变量的类型是由 := 操作符右边的表达式的类型决定的。
输出
使用短声明操作符(:=)声明多个变量
短声明操作符也可以用来在单个声明中声明 相同类型或不同类型 的多个变量。这些变量的类型是由 :=
操作符右边的表达式来评估的。
例子
输出
重要提示 。
- 当
:=
操作符 左边的变量中至少有一个是新声明的,就可以使用短声明操作符。对于那些已经在同一个词组中声明的变量,短变量声明操作符的行为就像赋值。为了更好地理解这个概念,让我们举个例子。
例1: 下面的程序会出现错误,因为在:=
操作符的左边没有新的变量。
错误
例2: 在下面的程序中,你可以看到这行代码 geek3, geek2 := 456, 200 可以正常工作,没有任何错误,因为在 := 操作符的左边至少有一个新变量,即 geek3 。
输出
- Go是一种强类型的语言,因为你不能把其他类型的值分配给已声明的变量。
例子
错误 。
- 在一个简短的变量声明中,允许通过返回多个值的调用函数来初始化一组变量。或者你可以说变量也可以被赋值,在运行时被评估。
例子
本地变量还是全局变量?
在短变量声明操作符(:=)的帮助下, 你只能声明 只有块级范围的 局部变量 。一般来说,局部变量是在功能块内声明的。如果你试图用短声明操作符来声明全局变量,那么你会得到一个错误。
例1 :
错误 。
例2 :
输出