go语言基础之常量

介绍

常量是指在编译期间就确定下来的值,程序在运行期间并没有办法更改该值。在Go语言中,常量可以是数值类型(包括整型,浮点型和复数类型)、布尔类型或者是字符串类型。

1. 常量的定义

在Go语言中,定义常量可以使用const关键字,并且设置一个相对友好的常量名。
语法:

const constName = value 

例如,

const Name = "张三"

你也可以给常量指定一个类型:

const u, v float32 = 0, 3 // u = 0.0, v = 3.0,常量的多重赋值

Go语言可以给常量设置一个类型,但是并不是必须的。如果没有在定义常量时指定类型,那么就是一个无类型常量
需要注意的是,常量的赋值行为是一个编译期行为,所以右值(等号右边的值)不能出现任何需要运行期间才能得出结果的表达式,否则会导致编译错误。如下:

const Home = os.GetEnv("HOME") 

出现编译错误的原因就是因为`os.GetEnv()只有在运行期才能得到结果,在编译期并不能确定,所以会报错。

预定义常量

Go语言预定义了常量:true、false和iota。
iota 是一个可被编译器修改的常量,它会在const关键字出现时被重置为0,然后再下一个const出现之前,每出现一次iota,其所代表的数字就会自增1。
例如:

const x1 = iota // 0
const x2 = iota // 0   iota 的值已被重置
fmt.Print(x1,x2)
package main

import "fmt"

func main() {

    const (
        a1 = iota
        a2 = iota
        a3 = iota

    )
    fmt.Print(a1,a2,a3)  // 0 1 2 


}

如果两个const的赋值语句的表达式是一样的,那么可以省略后一个赋值表达式。因此,上面的前两个const语句可简写为:

const ( // iota被重设为0
 c0 = iota // c0 == 0
 c1 // c1 == 1
 c2 // c2 == 2
) 

常量的作用

  • 将特殊的值,语义化。使用时,可以知道其具体含义。
  • 数据的集中管理,更改常量定义,即可完成全部的修改。
  • 保证不被程序的其他代码所更改。

转载于:https://www.cnblogs.com/liujunhang/articles/10294105.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值