Go - 常量



常量是指程序在执行过程中不能更改的固定值。这些固定值也称为 Literals。

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

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

整数文本

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

整数文本还可以具有一个后缀,该后缀是 u 和 L 的组合,分别表示 unsigned 和 long。后缀可以是大写或小写,并且可以按任意顺序排列。

以下是一些整数文本的示例 -

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 1 到 3 位的八位数
\xhh . . . 一个或多个数字的十六进制数

下面的示例演示如何在程序中使用 \t -


package main

import "fmt"

func main() {
	 	fmt.Printf("Hello\tWorld!")
}

编译并执行上述代码时,它会产生以下结果——

Hello World!

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) 		
}

编译并执行上述代码时,它会产生以下结果——

value of area : 50

请注意,在 CAPITALS 中定义常量是一种很好的编程习惯。