文章目錄
- 一、局部變量
- 二、全局變量
一、局部變量
四種聲明方式 + 多變量聲明:
package mainimport "fmt"//局部變量聲明
func main() {//方法一: 聲明一個變量和數據類型,不初始化值;默認值為0;var lvA intfmt.Println("lvA = ", lvA)//方法二: 聲明一個變量和數據類型,并且初始化值。var lvB int = 10fmt.Println("lvB = ", lvB)//方法三: 聲明一個變量,不指定數據類型,但是初始化值;Golang 會自動推斷設置這個變量的數據類型;var lvC = 20fmt.Println("lvC = ", lvC)//方法四: 省略 var 關鍵字, 省略類型指定,使用 := 直接聲明變量和初始化值。(常用方法) (但不支持這樣聲明全局變量)lvD := 30fmt.Println("lvD = ", lvD)//多變量聲明 方式一: 單行寫法//可以先一次聲明多個,然后再一次單個或多個賦值var lvE, lvF, lvG intlvE = 10lvF, lvG = 20, 30fmt.Println("lvE = ", lvE, " lvF = ", lvF, " lvG = ", lvG)//可以在聲明多個變量的同時,初始化值var lvH, lvI, lvJ int = 40, 50, 60fmt.Println("lvH = ", lvH, " lvI = ", lvI, " lvJ = ", lvJ)//可以同時聲明多個不同類型的變量,根據初始化值,自動推斷類型var lvL, lvM, lvN = 70, 80, "多變量聲明時,也可以自動類型推斷時"fmt.Println("lvL = ", lvL, " lvM = ", lvM, " lvN = ", lvN)//多變量聲明 方式二:多行寫法var (//可以聲明類型, 并初始化值 (多行時,必須要初始化值)lvO int = 10lvP = 20lvQ, lvR = 30, "字符串lvR"//也可以這樣只聲明但是不初始化值//不過如果不初始化值,則必須指定類型,不然不知道這個變量的類型lvS int)lvS = 40fmt.Println("lvO = ", lvO, " lvP = ", lvP, " lvQ = ", lvQ, " lvR = ", lvR, " lvS = ", lvS)
}
二、全局變量
全局變量的聲明和局部變量的聲明方式一、二、三 相同;
但是不能使用局部變量聲明方式四 (:=) 來聲明全局變量。
package mainimport "fmt"//全局變量聲明:和局部變量聲明方法的一二三相同
var gvA int
var gvB int = 10
var gvC = 20//不能使用 := 來聲明全局變量,編譯會報錯
// gvD := 30//全局變量的多個變量聲明和局部變量一樣
var gvL, gvM, gvN = 70, 80, "多變量聲明時,也可以自動類型推斷時"var (//可以聲明類型, 并初始化值 (多行時,必須要初始化值)gvO int = 10gvP = 20gvQ, gvR = 30, "字符串gvR"//也可以這樣只聲明但是不初始化值//不過如果不初始化值,則必須指定類型,不然不知道這個變量的類型gvS int
)func main() {fmt.Println("gvA = ", gvA)fmt.Println("gvB = ", gvB)fmt.Println("gvC = ", gvC)fmt.Println("gvL = ", gvL, " gvM = ", gvM, " gvN = ", gvN)gvS = 40fmt.Println("gvO = ", gvO, " gvP = ", gvP, " gvQ = ", gvQ, " gvR = ", gvR, " gvS = ", gvS)}