
对比变量(variable)用于存储可变的数据,常量(constant)用于存储固定不变的数据,比如:
"hello"3.14true
varconst
varconst

在Golang中,有两种常量,分别是:
未定类常量(Untyped Constant)
定类常量(Typed Constant)
下面一一介绍~
未定类常量声明时未提供类型的常量就是未定类常量(Untyped Constant),比如:

未定类常量具有弹性(flexibility),在可兼容的类型之间转换无需显式转换

constvar

math

声明时提供类型的常量就是定类常量(Typed Constant),比如:

不同于未定类常量,定类常量在转换时必须显式转换,否则将会报错

float64的定类常量pifloat32

常量声明时必须赋值:

常量不能重新赋值,因为常量的值是固定不变的(fixed):

已声明的常量可以不使用,不同于变量一旦声明必须使用:

短声明语法不能用来声明常量:

常量的数据类型只能是基本数据类型的其中一种:
bool
string
int家族
float家族
complex家族
后面会学到一些类型(比如数组)不能声明为常量,但是如果有新类型是基于基本数据类型的也可以定义为常量:

math

b==cd==e

c和e都是定类常量,它们与上一行常量类型及数据保持一致
在定义常量组时,如果不提供初始值,则表示将使用上行的表达式,不妨试试:


next time~ :D