Arthur's Blog
Toggle navigation
Arthur's Blog
首页
Go语言四十二章经
PHP内核
Redis教程
Go教程
人人都是产品经理
标签
归档
关于
《Go语言四十二章经》第四章 常量
Go语言四十二章经
2021-01-27 10:09:44
14
0
0
admin
Go语言四十二章经
# <center>《Go语言四十二章经》第四章 常量</center> 作者:李骁 ## 4.1 常量以及iota 常量使用关键字 const 定义,用于存储不会改变的数据。 存储在常量中的数据类型只可以是布尔型、数字型(整数型、浮点型和复数)和字符串型。 常量的定义格式:const identifier [type] = value,例如: ```Go const Pi = 3.14159 ``` 在 Go 语言中,你可以省略类型说明符 [type],因为编译器可以根据变量(常量)的值来推断其类型。 显式类型定义: const b string = "abc" 隐式类型定义: const b = "abc" 一个没有指定类型的常量被使用时,会根据其使用环境而推断出它所需要具备的类型。换句话说,未定义类型的常量会在必要时刻根据上下文来获得相关类型。 常量的值必须是能够在编译时就能够确定的;你可以在其赋值表达式中涉及计算过程,但是所有用于计算的值必须在编译期间就能获得。 在这个例子中,iota 可以被用作枚举值: ```Go const ( a = iota b = iota c = iota ) ``` 第一个 iota 等于 0,每当 iota 在新的一行被使用时,它的值都会自动加 1;所以 a=0, b=1, c=2 可以简写为如下形式: ```Go const ( a = iota b c ) ``` 注意: ```Go const ( a = iota b = 8 c ) ``` a, b, c分别为0, 8, 2,可以简单理解为在一个const块中,每换一行定义个常量,iota 都会自动+1 ( 关于 iota 的使用涉及到非常复杂多样的情况 ,这里不展开来讲了,有兴趣可以查查资料研究) iota 也可以用在表达式中,如:iota + 50。在每遇到一个新的常量块或单个常量声明时, iota 都会重置为 0( **简单地讲,每遇到一次 const 关键字,iota 就重置为 0 ** )。 使用位左移与 iota 计数配合可优雅地实现存储单位的常量枚举: ```Go type ByteSize float64 const ( _ = iota // 通过赋值给空白标识符来忽略值 KB ByteSize = 1<<(10*iota) MB GB TB PB EB ZB YB ) ``` 当然,常量之所以为常量就是恒定不变的量,因此我们无法在程序运行过程中修改它的值;如果你在代码中试图修改常量的值则会引发编译错误。同时,在const 定义中,对常量名没有强制要求全部大写,不过我们一般都会全部字母大写,以便阅读。
上一篇:
Go语言四十二章经
下一篇:
《Go语言四十二章经》第四十二章 WEB框架(Gin)
0
喜欢
14
微博
微信
腾讯微博
QQ空间
人人网
提交
登录
后评论.
没有帐号?
现在注册.
0
评论
More...
Table of content
没有帐号? 现在注册.