golang 變量的聲明方式

golang 變量的聲明方式


go 語言變量名由字符、數字、下劃線組成,其中首字符不能為數字。其變量名命名規則和C/C++約定一樣。

go 語言聲明變量方式有三種,也可以簡單說有2種,分別是關鍵字 var :=

使用var關鍵字指定變量類型

var 變量名 類型

例如定義一個string 類型的name

var name string

也可以一次聲明多個

var 變量名1 變量名2 變量名3 類型

例如定義一個 string 類型的name,mail, image

var name, mail, image string

使用var關鍵字不指定變量類型,通過初始化來讓編譯器默認推導

var name = value

例如:

package main

import "fmt"

func main() {

var name = "zhangsan"

var age = 12

fmt.Println(reflect.TypeOf(name))

fmt.Println(reflect.TypeOf(age))

}

輸出

string

int

var 聲明name 變量直接初始化為字符串 "zhangsan" var 聲明age 變量直接初始化為int 類型值為12

使用快速變量聲明 :=

name := value

此種方法 省略 var, := 左側如果不是新的變量名,就產生編譯錯誤。而且此種聲明方法

只能在函數內使用,如果在函數外使用,將會出現編譯錯誤。

同樣根據初始化變量的類型,可以自動推導出變量name的類型

例如:

func main() {

name := "zhangsan"

age := 12

fmt.Println(reflect.TypeOf(name))

fmt.Println(reflect.TypeOf(age))

}

輸出:

string

int

同樣支持多種平行聲明,上面的兩行聲明可以簡寫為一行

name,age := "zhangsan", 12

總結:

var name type 此種聲明可以不用初始化,而var name = valuename := value 必須初始化從而自動推導出name的類型, 而且 var name = value

name := value 方式支持平行不同類型變量聲明 而var name type 方式不支持平行多種不同類型聲明。並且 := 的方式只能在函數內使用。


分享到:


相關文章: