常數是指程式在執行過程中可能不會改變的固定值。 這些固定值也稱為文字。
常數可以是任何基本資料型別,如整數常數,浮點常數,字元常數或字串常數。 還有列舉常數。
常數一般會被編譯器視為常規變數,只是它們的值不能在定義之後被修改。
整數文字可以是十進位制,八進位制或十六進位制常數。 字首指定基數:字首是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 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
註:以大寫字母來定義常數是一個很好的程式設計習慣。