上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
4.4 总结
常量给了Go语言极大的灵活性,既有静态语言类型安全的优势,又可以通过隐式类型转换使用不用强制的指定类型,提供了类似动态语言的便利。本章介绍了常量的内涵、规则、生命周期以及各种情形下的隐式类型转换。
常量分为命名常量与未命名常量。未命名常量只会在编译期间存在,因此不会存储在内存中。而命名常量存在于内存静态只读区,不能被修改。同时,Go语言禁止对常量取地址的操作。
常量作为Go语言独特的功能之一,离不开编译时的解析。具体来说,隐式类型转换的规则为:有类型常量优先于无类型常量,当两个无类型常量进行运算时,结果类型的优先级为:整数(int)<符文数(rune)<浮点数(float)<复数(Imag)。