Email : hahayacoder@gmail.com
1 Go中變數的聲明和JavaScript很像,使用var關鍵字
2 Go中變數的聲明、定義有好幾種形式
//聲明並初始化一個變數
var m int = 10
//聲明初始化多個變數
var i, j, k = 1, 2, 3
//多個變數的聲明(注意小括弧的使用)
var(
no int
name string
)
//聲明時不指明類型,通過初始化值來推導
var b = true//bool型
//一種簡單的方式等價於varstrstring="Hello"
str := "Hello"
//Go中有一個特殊的變數_任何賦給它的值將被丟棄
_, Ret:= 2, 3
3 Go的編譯器對聲明卻未使用的變數在報錯
4 和C語言一樣,Go語言中也是使用分號來終結語句。但是和C語言不同的是,Go語言的詞法分析器在掃描原始碼的過程中使用簡單的規則自動插入分號,因此在編寫原始碼的多數時候就不需要加分號了。
5 Go語言詞法分析器插入分號的規則:如果在一個新行前方的最後一個標記是一個標識符(包括像int和float64這樣的單詞)、一個基本的如數值這樣的文字、或以下標記中的一個時,會自動插入分號
6 通常Go語言僅在for語句中使用分號,以此來分開初始化器、添加和增量。還有一種情況就是,當你在一行中寫了多個語句,也需要使用分號來分開
7 由於Go語言詞法分析器添加分號的特殊性,所以在有些情況下需要注意了:你都不應該將一個控制結構(if、for、switch或select)的左大括弧放在下一行。如果這樣做,將會在大括弧的前方插入一個分號,這可能導致出現不想要的結果。
8 學習的小例子
// Var project main.gopackage mainimport ("fmt")func main() {//聲明並初始化一個變數var m int = 10fmt.Printf("定義的變數值為:%d \n", m)//聲明初始化多個變數var i, j, k = 1, 2, 3fmt.Printf("定義的變數值為:%d、%d、%d \n", i, j, k)//聲明時不指明類型,通過初始化值來推導var b = true //bool型if b == true {fmt.Printf("bool值為真.\n")}//一種簡單的方式 等價於 var str string = "Hello"str := "Hello"fmt.Printf("定義的變數值為:%s \n", str)//Go的編譯器對聲明卻未使用的變數在報錯//使用保留字var聲明變數 然後給變數賦值var number intnumber = 121fmt.Printf("定義的變數值為:%d \n", number)//變數定義的另一種形式 這種情況下變數的類型是由值推演出來的text := "hahaya"fmt.Printf("定義變數的值為:%s \n", text)//多個變數的聲明(注意小括弧的使用)var (no intname string)no = 1name = "hahaya"fmt.Printf("學號:%d \t 姓名:%s \n", no, name)//多個變數聲明、定義的另一種形式x, y := 2, "ToSmile"fmt.Printf("學號:%d \t 姓名:%s \n", x, y)//Go中有一個特殊的變數_ 任何賦給它的值將被丟棄_, Ret := 2, 3fmt.Printf("變數的值為:%d \n", Ret)}