Go 常量

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 . . . 十六进制数(一位或多位数字)

下面的示例展示了如何在程序中使用 \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

注意,将常量定义为大写字母是一个良好的编程实践。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程