RELATEED CONSULTING
相关咨询
选择下列产品马上在线沟通
服务时间:8:30-17:00
你可能遇到了下面的问题
关闭右侧工具栏

新闻中心

这里有您想知道的互联网营销解决方案
Go语言中的常量-创新互联

1 概述

常量,一经定义不可更改的量。功能角度看,当出现不需要被更改的数据时,应该使用常量进行存储,例如圆周率。从语法的角度看,使用常量可以保证数据,在整个运行期间内,不会被更改。例如当前处理器的架构类型,可以保证不被更改。

10年的松北网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整松北建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联公司从事“松北网站设计”,“松北网站推广”以来,每个客户项目都认真落实执行。

语法如下

2 定义单个常量

const 常量名 <可选的类型> = 常量值

const c1 int = 1000

Go语言中,标识符(常量名)是否大小写,取决于是否需要在导出时被识别。

常量的值仅仅支持,基础类型,字符串,字符,整型,浮点,布尔。

3 类型推导

类型可以通过值推导出来,大多数情况可以省略类型,例如

const c2 = 1000

除非你想使用例如,int8, byte,float32这些非默认类型时,需要指定类型,例如

const c3 int16 = 1000

4 定义多个常量

可以一行定义多个常量,例如:

const c4, c5 = 42, 1000

也可以使用 const()定义块,定义多个,每个常量单独一行,例如

const (
  c6 = 42
  c7 = 1000
)

推荐使用const()块语法,一次性定义多个。

const()块定义时,如果常量未给出定义,则延续上面的定义规则,例如:

const (
  c7 = 42
  c8 // c8 = 42
  c9 // c9 = 42
)

此时,c8, c9, 值都是42。

5 iota迭代定义常量

const配合iota关键字使用,可以定义一组由0开始+1迭代的常量
演示语法:

const (
  gender_secret = iota
  gender_male // = iota
  gender_female // = iota
)

此时,三个常量值,分别是,0, 1, 2
iota的规则是:若iota出现在const()中,那么const()定义的第一行的iota就是0,第二行就是0+1=1,不论iota是否被常量使用。演示如下:

const (
  c1 = 42 // iota = 0,虽然未使用iota,但后边(const()中)有使用,此时iota被初始化为0,下面每行累加1
  c2 = iota      // iota = 1,iota继续累加,使用了iota
  c3 = 1024      // iota = 2,同样未使用,但iota的值继续累加。c3 被定义为1024
  c4             // iota = 3,c4延续上面的定义c4=1024,iota继续累加
  c5 = iota      // iota = 4,iota继续累加,使用了iota
  c6 = iota      // iota = 5,iota继续累加,使用了iota
)

此时结果为:42, 1, 1024, 1024, 4, 5

6 常量在编译时确定

编译时确定,因此不能使用变量为其赋值。可以使用,确定的字面量,字面量运算,内置函数运算,其他定义常量,这些在编译时可以确定的内容为常量赋值,演示为:

const c1 = "hank"
const (
  c2 = c1
  c3 = 42 + 1024
  c4 = len("hank")
)

以上语法都可以!

7 常量的作用

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

完!

原文出自:小韩说课
微信关注:小韩说课
Go语言中的常量

创新互联www.cdcxhl.cn,专业提供香港、美国云服务器,动态BGP最优骨干路由自动选择,持续稳定高效的网络助力业务部署。公司持有工信部办法的idc、isp许可证, 机房独有T级流量清洗系统配攻击溯源,准确进行流量调度,确保服务器高可用性。佳节活动现已开启,新人活动云服务器买多久送多久。


网页标题:Go语言中的常量-创新互联
网址分享:http://lswzjz.com/article/dsjghs.html