【Go 语言社区】Golang 语言再谈常量

时间:2022-05-04
本文章向大家介绍【Go 语言社区】Golang 语言再谈常量,主要内容包括整型常量、浮点文本(常量)、转义序列、字符串文字、const 关键字、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

常量是指该程序可能无法在其执行期间改变的固定值。这些固定值也被称为文字。

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

常量是一样,只是它们的值不能自己定义后进行修改常规变量处理。

整型常量

一个整数文字可以是十进制,八进制,或十六进制常数。前缀指定基或基数: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("HellotWorld!")
}

当上述代码被编译和执行时,它产生了以下结果:

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

请注意,这是一个良好的编程习惯大写定义常量。