go語言學習-變數

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。

註:go語言中,不要求語句末尾加分號,這點和python類似。

註:go語言中,不允許定義沒有用到的變數,否則報錯,就像import一個沒用到的package會報錯一樣。

1、純粹的變數聲明

       純粹的變數聲明時,必須以關鍵字var開頭,後面加空格跟定義的變數名,然後加空格跟變數類型。如:

var tmpInt int

var tmpString string

var tmpIntArray [10]int

var tmpSlice []int //數組切片

var tmpStruct struct {

tmpI int

}

var tmpPtr *int

var (

tmpInt_1 int

tmpString_1string

)

 

2、變數初始化及賦值

go語言引入一個新的賦值符號 “:=”,冒號後面緊跟一個等號,用於定義變數並直接初始化。如,下面3個語句等價:

tmpNewVar := 100

var tmpNewVar int = 100

var tmpNewVar = 100

註:“:=”這個賦值符號,左邊必須是不存在的一個變數,如果是已經存在的變數,則編譯報錯。因為這個符號本身代表“定義變數”和“初始設定變數”2個動作,所以必須是定義一個新的變數。

 

       對於已經用var定義過的變數,則可以直接賦值即可。

註:go語言在沒有指明變數類型賦值時,可以根據等號右邊的值的類型,自動給左邊的變數確定類型,類似Python。

 

多重賦值:

go語言支援多重賦值,類似Python,如:

i, j = j, i

上面一行代碼可以完成i和j值的互換。

 

2、匿名變數

       go語言中,可以支援函數返回多個傳回值,如果只想取其中一部分,可以用底線“_”來做預留位置(稱作“預留位置”不知道是否妥當,是自己這樣寫的),放到返回變數的位置,就可以了。如:

import “fmt”

funcgetPara()(para1,para2,para3int){

    return1,4,7

}

 

func main() {

_, ret, _ :=getPara()

fmt.Println(“ret= “, ret)

}

上面main函數中,只希望擷取getPara返回的para2,可以用底線放在第1、3的位置,做預留位置。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.