Go语言常量
常量是指该程序可能无法在其执行期间改变的固定值。这些固定值也被称为文字。
常量可以是任何像一个整型常量,一个浮点常量,字符常量或字符串文字的基本数据类型。还有枚举常量。
常量是一样,只是它们的值不能自己定义后进行修改常规变量处理。
整型常量
一个整数文字可以是十进制,八进制,或十六进制常数。前缀指定基或基数:0x或0X的十六进制,0表示八进制,并没有为十进制。
一个整数文字也可以有一个后缀为U和L的组合,分别为无符号和长整型。后缀可以是大写或小写,并且可以以任意顺序。
这里是整数常量的一些例子:
212 /* Legal */ 215u /* Legal */ 0xFeeL /* Legal */ 078 /* Illegal: 8 is not an octal digit */ 032UU /* Illegal: cannot repeat a suffix */
以下是不同类型的整型常量的例子:
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 . . . | 一个或多个数字的十六进制数 |
以下为例子来说明一些转义字符序列:
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;
下面的例子说明了它的细节:
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
请注意,这是一个良好的编程习惯大写定义常量。