Golang语言社区--Go语言基础第三节常量

时间:2022-05-03
本文章向大家介绍Golang语言社区--Go语言基础第三节常量,主要内容包括常量、2、const常量、3、预定义常量、4、枚举、基本概念、基础应用、原理机制和需要注意的事项等,并结合实例形式分析了其使用技巧,希望通过本文能帮助到大家理解应用这部分内容。

大家好,我是彬哥;今天继续我们的基础课程的讲解,本篇给大家讲解的是关于Go语言常量的知识。那么在编程语言中何为常量?常量解释如下:

常量

在Go语言中,常量是指编译期间就已知且不可改变的值。

1、字面常量

-1024       // 整型常量
10.24       // 浮点型常量
10.2+4i       // 复数类型的常量
true         // 布尔型常量
"Golang"     // 字符串常量

在Go语言中,字面常量没有类型,只要这个常量在相应类型的值域范围内,就可以作为该类型的常量,比如上面的常量-1024,可以赋值给int、uint、int32、int64、float32、float64、complex64、complex128等类型的变量。

2、const常量

通过const常量,可以给字面常量指定一个友好的名字:

const Pi float64 = 3.1415
const zero = 0.0    //无类型浮点常量
cosnt (
    size int64 = 1024
    eof = -1      //无类型整型常量   
)
const u,v float32 = 0, 3
const a,b,c = 3,4,"Golang"
const mask = 1<<3

常量的赋值是一个编译期行为,所以右值不能出现任何需要运行期才能得出结果的表达式,例如:

const Golang string = "www.golang.Ltd"    // error

3、预定义常量

Go语言预定义常量有:true、false、iota,前两个为bool常量;

iota是一个可被编译器修改的常量,在每一个const关键字出现时被重置为0,然后在下一个const出现之前,每出现一次iota,其所代表的数字会自动增1,例如:

const (          
    Golang0 = iota   // Golang=0 
    Golang1 = iota   // Golang1=1 
    Golang2 = iota   // Golang2=2 
)

另外一种写法也是可以的这个和下面讲的枚举一致,例如:

const (          
    Golang0 = iota   // Golang=0 
    Golang1          // Golang1=1 
    Golang2          // Golang2=2 
)

4、枚举

在const后跟一对园括号的方式定义一组常量,例如:

const (         
    Sunday = iota   
    Monday
    Tuesday
    Wednesday
    Thursday
    Friday
    Saturday
    )

同Go语言的其他符号一样,以大写字母开头的常量在包外可见;后面讲解函数的时候,会给大家着重说明。