在Go中,为什么没有直接计算整数数据类型绝对值的函数?目前,所有整数值都必须被类型转换为float64
,然后传递到math.Abs()
,math.Abs()
返回float64
,这也必须被类型转换为整数.
此代码会引发./prog.go:12:39: cannot use x (type int64) as type float64 in argument to math.Abs
错误,因为GO是一种静态类型的语言,因此它不允许使用不同的数据类型:
package main
import (
"fmt"
"math"
)
func main() {
fmt.Println("Hello, playground")
var x int64 = -10
fmt.Println("Abolute value ", math.Abs(x))
}