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. 小结

:= 这个运算符和 = 同样可以进行单变量以及多变量的赋值。需要注意的是,在使用:=给变量赋值的时候,要看一下这个变量是否已经声明过了,如果声明过了就不需要使用 := 了。