English 中文(简体)
Go - 常量
  • 时间:2024-12-22


Go - 常量



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

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

常量的处理方式与常规变量一样,只是它们的值在定义后不能修改。

Integer Literals

整数文本可以是十进制、八进制或十六进制常量。前缀指定基数或基数:十六进制为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 */

以下是各种类型的Integer文字的其他示例 −

85         /* decimal */
0213       /* octal */
0x4b       /* hexadecimal */
30         /* int */
30u        /* unsigned int */
30l        /* long */
30ul       /* unsigned long */

Floating-point Literals

浮点文字有整数部分、小数点部分、小数部分和指数部分。可以用十进制或指数形式表示浮点文字。

使用十进制表示时,必须包括小数点、指数或两者;使用指数表示时,则必须包括整数部分、小数部分或两者。有符号指数由e或e引入。

以下是浮点文字的一些示例


3.14159       /* Legal */
314159E-5L    /* Legal */
510E          /* Illegal: incomplete exponent */
210f          /* Illegal: no decimal or exponent */
.e55          /* Illegal: missing integer or fraction */

Escape Sequence

当某些字符前面有一个反斜杠时,它们在Go中会有特殊的含义。这些被称为转义序列码,用于表示换行符()、制表符()和退格符等 −

Escape sequence Meaning
\ character
character
" " character
? ? character
a Alert or bell
 Backspace
f Form feed
Newpne
Carriage return
Horizontal tab
v Vertical tab
ooo Octal number of one to three digits
xhh . . . Hexadecimal number of one or more digits

The following example shows how to use  in a program −


package main

import "fmt"

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

When the above code is compiled and executed, it produces the following result −

Hello World!

String Literals in Go

字符串文字或常量用双引号“”括起来。字符串包含与字符文字类似的字符:普通字符、转义序列和通用字符。

您可以使用字符串文字将一个长行拆分为多行,并使用空格将它们分隔开。

下面是一些字符串文字的例子。这三种形式都是相同的字符串。

"hello, dear"

"hello, 

dear"

"hello, " "d" "ear"

The const Keyword

You can use const prefix to declare constants with a specific type as follows −

const variable type = value;

The following example shows how to use the const keyword −


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

When the above code is compiled and executed, it produces the following result −

value of area : 50

Note that it is a good programming practice to define constants in CAPITALS.