紧凑地编写 10 的幂
在 Go 编程语言中,练习 3.13 挑战程序员为 KB、MB、up 编写紧凑的常量声明为YB,代表1000的幂。尽管iota机制对于生成幂的限制10,文本建议使用最紧凑的方法。
浮点文字
节省空间的解决方案是利用带有指数部分的浮点文字。例如,写入 1e3 占用的空间少于 1000。将所有标识符组合成单个常量规范进一步减少了等号的数量。下面是一个简洁的声明(67 个字符,不含空格):
const ( KB, MB, GB, TB, PB, EB, ZB, YB = 1e3, 1e6, 1e9, 1e12, 1e15, 1e18, 1e21, 1e24 )
整数文字使用 KB 作为乘数
创建无类型整型常量需要为 KB 写入 1000。要获得后续值,可以将前面的标识符乘以 1000。但是,也可以使用 KB 作为乘数,因为它代表 1000。以下声明为 77 个字符,不带空格:
const (KB,MB,GB,TB,PB,EB,ZB,YB = 1000,KB*KB,MB*KB,GB*KB,TB*GB,PB*KB,EB*KB,ZB*KB)
使用额外常量进行乘法
引入一个额外的1 字符 const x 通过将 *KB 替换为 x 可以进一步节省空间:
const (x,KB,MB,GB,TB,PB,EB,ZB,YB = 1000,x,x*x,MB*x,GB*x,TB*GB,PB*x,EB*x,ZB*x)
Rune Literal
使用代码点为 1000 的 rune 文字('Ϩ') 减少了多一个字符所需的空间:
const (x,KB,MB,GB,TB,PB,EB,ZB,YB = 'Ϩ',x,x*x,MB*x,GB*x,TB*GB,PB*x,EB*x,ZB*x)
以上是如何在 Go 中简洁地声明 10 的幂?的详细内容。更多信息请关注PHP中文网其他相关文章!