Since parameter e
is int
, why not just return an int64
? Is there any special reason for this?
2 reasons:
First, the parameter may be negative too, in which case the result is a fraction number between 0
and 1
, so a float64
return value is not just justified but needed.
fmt.Println(math.Pow10(-1))
Output (try it on the Go Playground):
0.1
Second, almost* every function of the math
package returns value(s) of type float64
, adding one that doesn't would break "consistency".
[*] Few exceptions include functions like Float32frombits()
and llogb()
where the deviation is justified.