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
请注意,使用大写字母定义常量是一种良好的编程习惯。