Go 語言的 :=
前面兩個小節(jié)我們分別學(xué)習(xí)了 Go 語言中的變量聲明和賦值。按照一貫的思維,變量肯定是要先聲明然后才能被賦值并使用。但是在 Go 語言中新增了一個特殊的運(yùn)算符 :=
,這個運(yùn)算符可以使變量在不被聲明的情況下直接使用,這節(jié)課我們就來具體看下這個特殊的運(yùn)算符:
1. 單變量 :=
Go 語言中新增了一個特殊的運(yùn)算符:=
,這個運(yùn)算符可以使變量在不聲明的情況下直接被賦值使用。其使用方法和帶值聲明變量類似,只是少了var
關(guān)鍵字,形如變量名:=變量值
,這樣就等于聲明了一個帶值的變量,該變量的類型與其變量值一致。
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
。
輸出結(jié)果:
可以看到,上面的代碼中我們并沒有提前對 helloworld
這個變量進(jìn)行聲明,而是直接就拿來用了,而且程序也沒有報(bào)錯,控制臺也正常打印出了 “Hello World!”。 :=
符號的出現(xiàn)省去了我們大量的編寫變量聲明的語句,在實(shí)際的開發(fā)中我們一般使用這種形式來聲明變量。
2. 多變量 :=
在 Go 語言的多變量賦值體系中,也支持了:=
運(yùn)算符。你可以使用形如變量名,變量名:=變量值,變量值
的形式來進(jìn)行多變量操作。其使用方法和多變量帶值聲明類似,只是少了var
關(guān)鍵字。
package main
import "fmt"
func main() {
hello, World := "Hello", "World!"
fmt.Println(hello, World)
}
輸出結(jié)果:
在 Go 語言中為了使開發(fā)更高效,更多的會使用 :=
這種 Go 語言獨(dú)有的賦值方式,一開始使用也許會有些不適應(yīng),上手之后簡直不要太好用。
3. 小結(jié)
:=
這個運(yùn)算符和 =
同樣可以進(jìn)行單變量以及多變量的賦值。需要注意的是,在使用:=
給變量賦值的時(shí)候,要看一下這個變量是否已經(jīng)聲明過了,如果聲明過了就不需要使用 :=
了。