由于参数e
为int
,为什么不返回int64
?这有什么特别的原因吗?
答案 0 :(得分:7)
2个原因:
首先,参数也可能是负数,在这种情况下,结果是0
和1
之间的分数,因此float64
返回值不仅仅是合理的,而是需要的。
fmt.Println(math.Pow10(-1))
输出(在Go Playground上尝试):
0.1
其次,几乎 * math
包的每个函数都返回float64
类型的值,添加一个不会破坏的值#34} ;一致性"
[*]很少例外包括Float32frombits()
和llogb()
等函数,其中偏差是合理的。