只是想知道“go”编译器是否使用任何类型的优化,例如常量折叠。
https://en.wikipedia.org/wiki/Constant_folding
通过谷歌搜索,但找不到我正在寻找的答案。
常量折叠是在编译时识别和评估常量表达式而不是在运行时计算它们的过程。
常量表达式可能只包含常量操作数,并在编译时进行评估。
import "math/big"
大包实现任意精度算术(大数)。
Go 常量表达式在编译时进行评估。用 Go 编写的 Go gc 编译器使用包big
来评估数值常量表达式。
尝试编写一个简单的程序:例如。
package main
import "fmt"
func main() {
fmt.Println(12345*1000)
}
现在将其编译为程序集
go tool compile -S examle.go
现在在结果中找到 12345,你就会得到答案。