var關鍵字在Golang用于創(chuàng)建的變量具有一個適當?shù)拿Q和初始值的特定類型的。在使用var關鍵字聲明變量時,初始化是可選的,我們將在本文后面討論。
語法:
var identifier type = expression
//這里nhooo1是標識符 //或稱變量名,是int類型,并為分配值200 var nhooo1 int = 200
如您所知,Go是一種靜態(tài)類型的語言,但是它仍然提供了一種在聲明變量的同時省略數(shù)據(jù)類型聲明的功能,如以下語法所示。這通常稱為類型推斷。
語法:
var identifier = initialValue
var nhooo1 = 200
var關鍵字還用于在一行中聲明多個變量。您還可以為變量提供初始值,如下所示:
使用var關鍵字以及類型聲明多個變量:
var nhooo1, nhooo2, nhooo3, nhooo4 int
使用var關鍵字聲明多個變量以及類型和初始值:
var nhooo1, nhooo2, nhooo3, nhooo4 int = 10, 20, 30, 40
注意:
您還可以使用類型推斷(上面討論過),該推斷可使編譯器知道該類型,即可以在聲明多個變量的同時刪除該類型。
var nhooo1, nhooo2, nhooo3, nhooo4 = 10, 20, 30.30, true
您還可以使用多行使用var關鍵字聲明和初始化不同類型的值,如下所示:
var( nhooo1 = 100 nhooo2 = 200.57 nhooo3 bool nhooo4 string = "www.soo66.com" )
在聲明期間使用類型時,只允許聲明多個相同類型的變量。但是在聲明期間刪除類型,您可以聲明多個不同類型的變量。
//使用var關鍵字聲明變量 package main import "fmt" func main() { //聲明多個相同類型的變量并初始化 //與類型一起在單行中 var nhooo1, nhooo2, nhooo3 int = 232, 784, 854 //聲明多個不同類型的變量并初始化 //在單行中不指定任何類型 var nhooo4, nhooo5, nhooo6 = 100, "GFG", 7896.46 fmt.Printf("nhooo1的值為 : %d\n", nhooo1) fmt.Printf("nhooo2的值為 : %d\n", nhooo2) fmt.Printf("nhooo3的值為 : %d\n", nhooo3) fmt.Printf("nhooo4的值為 : %d\n", nhooo4) fmt.Printf("nhooo5的值為 : %s\n", nhooo5) fmt.Printf("nhooo6的值為 : %f", nhooo6) }
輸出:
nhooo1的值為 : 232 nhooo2的值為 : 784 nhooo3的值為 : 854 nhooo4的值為 : 100 nhooo5的值為 : GFG nhooo6的值為 : 7896.460000
var關鍵字的要點:
在使用var關鍵字聲明變量期間,可以省略 type 或= 表達式,但不能同時省略。如果這樣做,編譯器將拋出一個錯誤。。
如果刪除了表達式,則默認情況下,變量將包含數(shù)字的零值和布爾值false的代表字符串“”,而nil則包含接口和引用類型。 因此,在Go語言中沒有這樣的未初始化變量的概念。
// var關鍵字的概念 package main import "fmt" func main() { //聲明變量但不初始化 var nhooo1 int var nhooo2 string var nhooo3 float64 var nhooo4 bool //顯示0值變量 fmt.Printf("nhooo1的值是 : %d\n", nhooo1) fmt.Printf("nhooo2的值是 : %s\n", nhooo2) fmt.Printf("nhooo3的值是 : %f\n", nhooo3) fmt.Printf("nhooo4的值是 : %t", nhooo4) }
輸出:
nhooo1的值是 : 0 nhooo2的值是 : nhooo3的值是 : 0.000000 nhooo4的值是 : false