Go語言常量

常量是指程式在執行過程中可能不會改變的固定值。 這些固定值也稱為文字。

常量可以是任何基本數據類型,如整數常量,浮點常量,字元常量或字串常量。 還有枚舉常量。

常量一般會被編譯器視為常規變數,只是它們的值不能在定義之後被修改。

整數文字

整數文字可以是十進位,八進制或十六進制常數。 首碼指定基數:首碼是0x0X為十六進制,首碼是0的為八進制,十進位的首碼則無任何內容。

整數文字還可以有一個尾碼,它是UL的組合,分別用於unsignedlong。尾碼可以是大寫或小寫,可以是任意順序。

這裏是一些有效的整數文字的例子:

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 */

浮點文字

浮點文字有整數部分,小數點,小數部分和指數部分。您可以以十進位形式或指數形式來表示浮點文字。
在使用十進位形式表示時,必須包括小數點,指數或兩者,並且在使用指數形式表示時,必須包括整數部分,小數部分或兩者。帶符號的指數由eE引入。

下麵是一些浮點文字的示例:

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

注:以大寫字母來定義常量是一個很好的編程習慣。


上一篇: Go語言變數 下一篇: Go語言運算符