Go - 常量
常量是指程序在执行过程中不能更改的固定值。这些固定值也称为 Literals。
常量可以是任何基本数据类型,如整数常量、浮点常量、字符常量或字符串文本。还有枚举常量。
常量的处理方式与常规变量相同,不同之处在于其值在定义后无法修改。
整数文本
整数文本可以是十进制、八进制或十六进制常量。前缀指定基数或基数:0x 或 0X 表示十六进制,0 表示八进制,nothing 表示十进制。
整数文本还可以具有一个后缀,该后缀是 u 和 L 的组合,分别表示 unsigned 和 long。后缀可以是大写或小写,并且可以按任意顺序排列。
以下是一些整数文本的示例 -
215u /* Legal */
0xFeeL /* Legal */
078 /* Illegal: 8 is not an octal digit */
032UU /* Illegal: cannot repeat a suffix */
以下是各种类型的 Integer 文字的其他示例 -
0213 /* octal */
0x4b /* hexadecimal */
30 /* int */
30u /* unsigned int */
30l /* long */
30ul /* unsigned long */
浮点文本
浮点文本具有整数部分、小数点、小数部分和指数部分。您可以用十进制形式或指数形式表示浮点文本。
使用十进制形式表示时,必须包含小数点和/或指数,使用指数形式表示时,必须包含整数部分和/或小数部分。有符号指数由 e 或 E 引入。
以下是浮点文本的一些示例 -
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 | 1 到 3 位的八位数 |
\xhh . . . | 一个或多个数字的十六进制数 |
下面的示例演示如何在程序中使用 \t -
package main
import "fmt"
func main() {
fmt.Printf("Hello\tWorld!")
}
编译并执行上述代码时,它会产生以下结果——
Go 中的字符串字面量
字符串文本或常量用双引号 “” 括起来。字符串包含类似于字符文字的字符:普通字符、转义序列和通用字符。
您可以使用字符串文字将长行分成多行,并使用空格分隔它们。
下面是字符串文本的一些示例。所有三种形式都是相同的字符串。
"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)
}
编译并执行上述代码时,它会产生以下结果——
请注意,在 CAPITALS 中定义常量是一种很好的编程习惯。