[Go] go常量中的无类型常量
2023-02-18 15:37:01 时间
Go语言的常量有个不同寻常之处。虽然一个常量可以有任意一个确定的基础类型,例如int或float64,或者是类似time.Duration这样命名的基础类型,但是许多常量并没有一个明确的基础类型。
math.Pi就是无类型的浮点数常量
const (
E = 2.71828182845904523536028747135266249775724709369995957496696763
Pi = 3.14159265358979323846264338327950288419716939937510582097494459
)
编译器为这些没有明确基础类型的数字常量提供比基础类型更高精度的算术运算,当赋值给特定类型时精度会有影响
只有常量可以是无类型的。当一个无类型的常量被赋值给一个变量的时候,或者出现在有明确类型的变量声明的右边,无类型的常量将会被隐式转换为对应的类型
对于常量面值,不同的写法可能会对应不同的类型。例如0、0.0、0i和\u0000虽然有着相同的常量值,但是它们分别对应无类型的整数、无类型的浮点数、无类型的复数和无类型的字符等不同的常量类型。同样,true和false也是无类型的布尔类型,字符串面值常量是无类型的字符串类型。
相关文章
- [Linux] 网络抓包工具tshark
- [Git[ 解决 git branch -M main error: refname refs/heads/master not found
- [Linux] ps+awk +while 实时查看进程内存占用情况
- 云图说|Git云上仓库哪家好?一张图了解华为云代码托管服务
- [MongoDB] 使用PHP根据_id字段查询数据
- [MongoDB]评估使用mongodb的五个因素
- [PHP] 使用PHP在mongodb中进行count查询
- [PHP] 使用PHP在mongodb中进行嵌套查询
- [Linux] ubuntu下yarn依赖管理工具的安装和使用
- [MongoDB]MongoDB的ObjectId组成
- [MongoDB] 使用PHP在MongoDB中搜索的实现
- [PHP] linux下安装PHP8的小问题
- [PHP] windows或者linux安装composer2
- [Go] 理解(*interface{})(nil) 赋值的变量是否为nil
- [Linux] 理解CPU缓存的伪共享问题
- [Go]理解golang项目性能分析工具trace
- [Go]理解golang项目性能分析工具PProf
- [Go] 理解切片slice扩容
- [Linux] 理解Reactor 模型
- [MongoDB]MongoDB分页显示