为什么math.Pow10(e int)返回float64而不是int64?

时间:2017-02-13 09:07:39

标签: math go

由于参数eint,为什么不返回int64?这有什么特别的原因吗?

1 个答案:

答案 0 :(得分:7)

2个原因:

首先,参数也可能是负数,在这种情况下,结果是01之间的分数,因此float64返回值不仅仅是合理的,而是需要的。

fmt.Println(math.Pow10(-1))

输出(在Go Playground上尝试):

0.1

其次,几乎 * math包的每个函数都返回float64类型的值,添加一个不会破坏的值#34} ;一致性"

[*]很少例外包括Float32frombits()llogb()等函数,其中偏差是合理的。