Go 语言的 :=
前面两个小节我们分别学习了 Go 语言中的变量声明和赋值。按照一贯的思维,变量肯定是要先声明然后才能被赋值并使用。但是在 Go 语言中新增了一个特殊的运算符 :=
,这个运算符可以使变量在不被声明的情况下直接使用,这节课我们就来具体看下这个特殊的运算符:
1. 单变量 :=
Go 语言中新增了一个特殊的运算符:=
,这个运算符可以使变量在不声明的情况下直接被赋值使用。其使用方法和带值声明变量类似,只是少了var
关键字,形如变量名:=变量值
,这样就等于声明了一个带值的变量,该变量的类型与其变量值一致。
package main
import "fmt"
func main() {
helloWorld := "Hello World!"
fmt.Println(helloWorld)
}
package main
import "fmt"
func main() {
helloWorld := "Hello World!"
fmt.Println(helloWorld)
}
- 第 3 行:直接为变量
helloWorld
赋值为 “Hello World”; - 第 4 行:打印变量
helloWorld
。
输出结果:
可以看到,上面的代码中我们并没有提前对 helloworld
这个变量进行声明,而是直接就拿来用了,而且程序也没有报错,控制台也正常打印出了 “Hello World!”。 :=
符号的出现省去了我们大量的编写变量声明的语句,在实际的开发中我们一般使用这种形式来声明变量。
2. 多变量 :=
在 Go 语言的多变量赋值体系中,也支持了:=
运算符。你可以使用形如变量名,变量名:=变量值,变量值
的形式来进行多变量操作。其使用方法和多变量带值声明类似,只是少了var
关键字。
package main
import "fmt"
func main() {
hello, World := "Hello", "World!"
fmt.Println(hello, World)
}
输出结果:
在 Go 语言中为了使开发更高效,更多的会使用 :=
这种 Go 语言独有的赋值方式,一开始使用也许会有些不适应,上手之后简直不要太好用。
3. 小结
:=
这个运算符和 =
同样可以进行单变量以及多变量的赋值。需要注意的是,在使用:=
给变量赋值的时候,要看一下这个变量是否已经声明过了,如果声明过了就不需要使用 :=
了。