Go 語(yǔ)言的 :=
前面兩個(gè)小節(jié)我們分別學(xué)習(xí)了 Go 語(yǔ)言中的變量聲明和賦值。按照一貫的思維,變量肯定是要先聲明然后才能被賦值并使用。但是在 Go 語(yǔ)言中新增了一個(gè)特殊的運(yùn)算符 := ,這個(gè)運(yùn)算符可以使變量在不被聲明的情況下直接使用,這節(jié)課我們就來具體看下這個(gè)特殊的運(yùn)算符:
1. 單變量 :=
Go 語(yǔ)言中新增了一個(gè)特殊的運(yùn)算符:=,這個(gè)運(yùn)算符可以使變量在不聲明的情況下直接被賦值使用。其使用方法和帶值聲明變量類似,只是少了var關(guān)鍵字,形如變量名:=變量值,這樣就等于聲明了一個(gè)帶值的變量,該變量的類型與其變量值一致。
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é)果:

可以看到,上面的代碼中我們并沒有提前對(duì) helloworld 這個(gè)變量進(jìn)行聲明,而是直接就拿來用了,而且程序也沒有報(bào)錯(cuò),控制臺(tái)也正常打印出了 “Hello World!”。 := 符號(hào)的出現(xiàn)省去了我們大量的編寫變量聲明的語(yǔ)句,在實(shí)際的開發(fā)中我們一般使用這種形式來聲明變量。
2. 多變量 :=
在 Go 語(yǔ)言的多變量賦值體系中,也支持了:=運(yùn)算符。你可以使用形如變量名,變量名:=變量值,變量值的形式來進(jìn)行多變量操作。其使用方法和多變量帶值聲明類似,只是少了var關(guān)鍵字。
package main
import "fmt"
func main() {
hello, World := "Hello", "World!"
fmt.Println(hello, World)
}
輸出結(jié)果:

在 Go 語(yǔ)言中為了使開發(fā)更高效,更多的會(huì)使用 := 這種 Go 語(yǔ)言獨(dú)有的賦值方式,一開始使用也許會(huì)有些不適應(yīng),上手之后簡(jiǎn)直不要太好用。
3. 小結(jié)
:= 這個(gè)運(yùn)算符和 = 同樣可以進(jìn)行單變量以及多變量的賦值。需要注意的是,在使用:=給變量賦值的時(shí)候,要看一下這個(gè)變量是否已經(jīng)聲明過了,如果聲明過了就不需要使用 := 了。
Codey ·
2025 imooc.com All Rights Reserved |