[Go] — 變數的聲明和定義

來源:互聯網
上載者:User

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)}

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.