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

为什么math.Pow10(eint)返回float64而不是int64?,math,go,Math,Go,既然参数e是int,为什么不直接返回int64?有什么特殊原因吗?2个原因: 首先,参数也可能是负数,在这种情况下,结果是介于0和1之间的分数,因此float64返回值不仅是合理的,而且是必需的 fmt.Println(math.Pow10(-1)) 输出(在上尝试): 其次,几乎*包的每个函数都返回float64类型的值,添加一个不返回的值将破坏“一致性” [*]很少有例外情况包括和这样的函数,其中偏差是合理的 0.1

既然参数
e
int
,为什么不直接返回
int64
?有什么特殊原因吗?

2个原因:

首先,参数也可能是负数,在这种情况下,结果是介于
0
1
之间的分数,因此
float64
返回值不仅是合理的,而且是必需的

fmt.Println(math.Pow10(-1))
输出(在上尝试):

其次,几乎*包的每个函数都返回
float64
类型的值,添加一个不返回的值将破坏“一致性”

[*]很少有例外情况包括和这样的函数,其中偏差是合理的

0.1