Go學習筆記之變數和常量

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

1 變數 

1-1 聲明

在 Go 語言中聲明變數使用關鍵字 var

例如

var int_a int; // 多數情況下分號可以省略

 

在聲明的同時沒有初始化值時,Go 會給基礎類型設定預設值,

int     0
int8    0
int32   0
int64   0
uint    0x0
rune    0 //rune的實際類型是 int32
byte    0x0 // byte的實際類型是 uint8
float32 0 //長度為 4 byte
float64 0 //長度為 8 byte
bool    false
string  ""

 

聲明的同時也可以賦值初始化,例如

var int_a int =1

 

聲明同時賦值可以簡單縮寫為

int_a := 1

 

1-2 多個相同類型的聲明

多個相同類型的聲明可以簡寫為

var a, b, c int

也可以同時賦值

var a, b, c int = 1, 2, 3

也可以簡寫為

a, b, c := 1, 2, 3

 

1-3 多個不同類型的聲明

多個不同類型的聲明可以簡寫為

var (

    a int 

    b string

)

也可以同時賦值

var (

    a int  = 1

    b string = "abc"

)

 

1-4 特殊的空標識 _

任何賦值空標識  _ 的都會丟棄,一般用來做傳回值有多個值時,但可能只用到其中的幾個,只保留用到值,其他的值可以捨棄。

 a, _, c := 1, 2, 3

數值 2 會被丟棄掉

 

2 常量

2-1 聲明

在 Go 語言中聲明變數使用關鍵字 const,常量的值只能是 bool、string 或數字類型中的一種。

例如 

const a int = 1

因為聲明常量必須初始化,所以type可以省略,即

const a = 1

 

2-2 多個相同類型的聲明

多個相同類型的聲明可以簡寫為

const a, b = 1, 2

 

2-3 多個不同類型的聲明

多個不同類型的聲明可以簡寫為 

const (

    a = 1

    b = "abc"

    c = false

)

 

2-4 特殊的關鍵字iota

Go裡面有一個關鍵字iota,這個關鍵字用來聲明enum的時候採用,它預設開始值是0,每調用一次加1

const (

    a = iota // a = 0

    b            // b = 1

    c            // c = 2

iota也可以參與運算,例如

const (
    a = 1 << iota  // a = 1 (iota has been reset)    1*2^0
    b = 1 << iota  // b = 2                                      1*2^1
    c = 1 << iota  // c = 4                                       1*2^2
)

 

參考資料

《Go語言.雲動力》

《Go Web 編程》

 

 

 

相關文章

聯繫我們

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