Go語言之GO 語言常量

2022-09-07 07:54:08 字數 2030 閱讀 7637

相對於變數,常量是恆定不變的值,多用於定義程式執行期間不會改變的那些值。 常量的宣告和變數宣告非常類似,只是把var換成了const,常量在定義的時候必須賦值。

const pi = 3.1415

const e = 2.7182

宣告了pie這兩個常量之後,在整個程式執行期間它們的值都不能再發生變化了。

多個常量也可以一起宣告:

const (

pi = 3.1415

e = 2.7182

)

const同時宣告多個常量時,如果省略了值則表示和上面一行的值相同。 例如:

const (

n1 = 100

n2n3

)

上面示例中,常量n1n2n3的值都是100。

iota是go語言的常量計數器,只能在常量的表示式中使用。

iota在const關鍵字出現時將被重置為0。const中每新增一行常量宣告將使iota計數一次(iota可理解為const語句塊中的行索引)。 使用iota能簡化定義,在定義列舉時很有用。

iota在const關鍵字出現時將被重置為0(const內部的第一行之前),const中每新增一行常量宣告將使iota計數一次(iota可理解為const語句塊中的行索引)。

、每次 const 出現時,都會讓 iota 初始化為0.

const a = iota // a=0

const (

b = iota     //b=0

c            //c=1

)

舉個例子:

const (

n1 = iota //0

n2 //1

n3 //2

n4 //3

)

使用_跳過某些值

const (

n1 = iota //0

n2 //1

_ n4 //3

)

iota宣告中間插隊

const (

n1 = iota //0

n2 = 100 //100

n3 = iota //2

n4 //3

) const n5 = iota //0

定義數量級 (這裡的<<表示左移操作,1<<10表示將1的二進位制表示向左移10位,也就是由1變成了10000000000,也就是十進位制的1024。同理2<<2表示將2的二進位制表示向左移2位,也就是由10變成了1000,也就是十進位制的8。)

const (

_ = iota

kb = 1 << (10 * iota)

mb = 1 << (10 * iota)

gb = 1 << (10 * iota)

tb = 1 << (10 * iota)

pb = 1 << (10 * iota)

)

多個iota定義在一行

const (

a, b = iota + 1, iota + 2 //1,2

c, d //2,3

e, f //3,4

)

go語言之常量

常量 常量表示式的值在編譯期計算,而不是在執行期。每種常量的潛在型別都是基礎型別 boolean string或數字。常量範圍目前只支援布林型,數字型 整型,浮點型,複數 和字串型 常量定義上可以分為顯式和隱式 顯式 const identifier type value隱式 const ident...

Go語言之Go語言網路程式設計

go語言的 net 包中有乙個 tcpconn 型別,可以用來建立 tcp 客戶端和 tcp 伺服器端間的通訊通道,tcpconn 型別裡有兩個主要的函式 func c tcpconn write b byte n int,err os.error func c tcpconn read b byt...

Go語言之Go 語言迴圈語句

go 語言提供了以下幾種型別迴圈處理語句 迴圈型別 描述for 迴圈 重複執行語句塊 迴圈巢狀 在 for 迴圈中巢狀乙個或多個 for 迴圈 迴圈控制語句可以控制迴圈體內語句的執行過程。go 語言支援以下幾種迴圈控制語句 控制語句 描述break 語句 經常用於中斷當前 for 迴圈或跳出 swi...