Go語言常量
常量是指該程序可能無法在其執行期間改變的固定值。這些固定值也被稱為文字。
常量可以是任何像一個整型常量,一個浮點常量,字符常量或字符串文字的基本數據類型。還有枚舉常量。
常量是一樣,隻是它們的值不能自己定義後進行修改常規變量處理。
整型常量
一個整數文字可以是十進製,八進製,或十六進製常數。前綴指定基或基數:0x或0X的十六進製,0表示八進製,並冇有為十進製。
一個整數文字也可以有一個後綴為U和L的組合,分彆為無符號和長整型。後綴可以是大寫或小寫,並且可以以任意順序。
這裡是整數常量的一些例子:
212 /* Legal */ 215u /* Legal */ 0xFeeL /* Legal */ 078 /* Illegal: 8 is not an octal digit */ 032UU /* Illegal: cannot repeat a suffix */
以下是不同類型的整型常量的例子:
85 /* decimal */ 0213 /* octal */ 0x4b /* hexadecimal */ 30 /* int */ 30u /* unsigned int */ 30l /* long */ 30ul /* unsigned long */
浮點文本(常量)
浮點字麵具有一個整數部分,一個小數點,一個小數部分,和一個指數部分。你可以表示十進製形式或指數形式浮點文字。
同時采用十進製形式表示,則必須包括小數點,指數,或兩者並用而指數形式表示,則必須包括整數部分,小數部分,或者兩者兼而有之。有符號的指數,通過e或E表示
下麵是浮點麵值的一些例子:
3.14159 /* Legal */ 314159E-5L /* Legal */ 510E /* Illegal: incomplete exponent */ 210f /* Illegal: no decimal or exponent */ .e55 /* Illegal: missing integer or fraction */
轉義序列
有一些字符在Go中,前麵有一個反斜杠他們將有特殊的含義,它們被用來表示類似的換行符(\n)或製表符(\t)。在這裡,有一些這樣的轉義序列代碼的列表:
轉義序列 | 含意 |
---|---|
\\ | \ 字符 |
\' | ' 字符 |
\" | " 字符 |
\? | ? 字符 |
\a | 警報或鐘 |
\b | 退格 |
\f | 換頁 |
\n | 換行符 |
\r | 回車 |
\t | 水平製表 |
\v | 垂直製表 |
\ooo | 一到三位數字的八進製數 |
\xhh . . . | 一個或多個數字的十六進製數 |
以下為例子來說明一些轉義字符序列:
package main import "fmt" func main() { fmt.Printf("Hello\tWorld!") }
當上述代碼被編譯和執行時,它產生了以下結果:
Hello World!
字符串文字
字符串文字或常量用雙引號“”。一個字符串包含類似於字符文字字符:普通字符,轉義序列和通用字符。
您可以使用字符串和分隔使用空格打破一個長行成多行。
下麵是字符串的一些例子。所有的三種形式是相同的字符串。
"hello, dear" "hello, \ dear" "hello, " "d" "ear"
const 關鍵字
您可以使用 const 前綴來聲明常量使用特定的類型如下:
const variable type = value;
下麵的例子說明了它的細節:
package main import "fmt" func main() { const LENGTH int = 10 const WIDTH int = 5 var area int area = LENGTH * WIDTH fmt.Printf("value of area : %d", area) }
當上述代碼被編譯和執行時,它產生了以下結果:
value of area : 50
請注意,這是一個良好的編程習慣大寫定義常量。