Go 常量


常量是指程序在执行过程中不得更改的固定值。这些固定值也称为字面量literals).

常量可以是任何基本数据类型,例如 整数常量、浮点常量、字符常量、字符串常量和枚举常量。

常量与变量的处理方式相同,只不过其值在定义后无法修改。

整数常量


整数常量可以是十进制、八进制或十六进制常量。前缀指定基数或基数:十六进制为0x或0X,八进制为0,十进制为0。

整数常量也可以具有后缀,该后缀是U和L的组合,分别表示无符号和长整数。后缀可以是大写或小写,并且可以是任何顺序。

以下是整数文字的一些示例:

212         /* Legal */
215u        /* Legal */
0xFeeL      /* Legal */
078         /* Illegal: 8 is not an octal digit */
032UU       /* Illegal: cannot repeat a suffix */

以下是各种类型的Integer文字的其他示例:

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...一个或多个数字的十六进制数

以下示例显示了如何使用\t在一个程序中:

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;

以下示例显示了如何使用const关键字:

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

请注意,使用大写字母定义常量是一种良好的编程习惯。