Golang學習筆記3——常量與運算子

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

1.常量的定義

  • 常量的值在編譯時間就已經確認

  • 常量的定義格式與變數基本相同

  • 等號右側必須是常量或者常量運算式

  • 常量運算式中的函數必須是內建函數

//定義單個常量const a int = 1const b = "A"const (    text = "123"    length = len(text)    num = b * 20)//同時定義多個變數const i, j, k = 1, "2", "3"const (    text2 ,length2, num2 = "456", len(text2),  k* 10)

2.常量的初始化規則

  • 在定義常量組時,如果不提供初始值,則表示使用上行的運算式
 var a = 1 const (    b  = a    //此時報錯,因為全域變數在編譯時間不能確定值,常量必須是編譯時間能確定值的或使用內建函數獲得的值(eg:len()) )  const (    a = "A"    b    c    //此時 a,b,c都為"A" )  const (    a, b = 1, "A"    c, d    //a,c為1,b,d為"A"。此時注意下行的常量個數必須與上行數量保持一致 )

3.常量的枚舉

  • 使用相同的運算式不代表具有相同的值

  • iota是常量的計數器,從0開始,組中每定義1個常量自動遞增1

  • 通過初始化規則與iota可以達到枚舉的效果

  • 每遇到一個const關鍵字,iota就會重設為0

const (    a = "A"    b    c = iota    d        //d的值為3,因為在常量組中,定義了4個變數所以iota計數器從0開始計數4次,所以為3)

4.運算子

//優先順序從高到低        *  /  %  <<  >>  &  &^ =  -  |  ^     ==  !=  <  <=  >= > && ||

例子:

/* 6的二進位:0110       第一個10的二進位:1011       第二個---------&  0010  = 2    (兩個都是1才為1)|  1111  = 15   (一個是1就是1)^  1101  = 13   (兩個只有一個是1才是1)$^ 0100  = 4    (第二個為1則是0,否則與第一位相同)*/

聯繫我們

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