Go語言常量
常量是指程序在執行過程中可能不會改變的固定值。 這些固定值也稱爲文字。
常量可以是任何基本數據類型,如整數常量,浮點常量,字符常量或字符串常量。 還有枚舉常量。
常量一般會被編譯器視爲常規變量,只是它們的值不能在定義之後被修改。
整數文字
整數文字可以是十進制,八進制或十六進制常數。 前綴指定基數:前綴是0x
或0X
爲十六進制,前綴是0
的爲八進制,十進制的前綴則無任何內容。
整數文字還可以有一個後綴,它是U
和L
的組合,分別用於unsigned
和long
。後綴可以是大寫或小寫,可以是任意順序。
這裏是一些有效的整數文字的例子:
212 /* 合法 */
215u /* 合法 */
0xFeeL /* 合法 */
078 /* 非法: 8 is not an octal digit */
032UU /* 非法: cannot repeat a suffix */
以下是其他各種類型的整數文字的示例:
85 /* decimal */
0213 /* octal */
0x4b /* hexadecimal */
30 /* int */
30u /* unsigned int */
30l /* long */
30ul /* unsigned long */
浮點文字
浮點文字有整數部分,小數點,小數部分和指數部分。您可以以十進制形式或指數形式來表示浮點文字。
在使用十進制形式表示時,必須包括小數點,指數或兩者,並且在使用指數形式表示時,必須包括整數部分,小數部分或兩者。帶符號的指數由e
或E
引入。
下面是一些浮點文字的示例:
3.14159 /* 合法 */
314159E-5L /* 合法 */
510E /* 非法: incomplete exponent */
210f /* 非法: no decimal or exponent */
.e55 /* 非法: 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
注:以大寫字母來定義常量是一個很好的編程習慣。