2
由於參數e
是int
,爲什麼不只是返回int64
?這有什麼特別的理由嗎?爲什麼math.Pow10(e int)返回float64而不是int64?
由於參數e
是int
,爲什麼不只是返回int64
?這有什麼特別的理由嗎?爲什麼math.Pow10(e int)返回float64而不是int64?
2個原因:
首先,參數可以是負的也是如此,在這種情況下,結果是0
和1
之間的分數數量,所以float64
返回值不只是對齊,但需要。
fmt.Println(math.Pow10(-1))
輸出(嘗試在Go Playground):
0.1
二,math
包幾乎*每個函數返回float64
類型的值(S),添加一個不會打破「一致性」。
[*]幾個例外包括功能如Float32frombits()
和llogb()
其中偏差是合理的。