阅读 math/floor.go
, starting from line 13的源代码,我读到了一些这样的代码:
func Floor(x float64) float64
func floor(x float64) float64 {
if x == 0 || IsNaN(x) || IsInf(x, 0) {
return x
}
if x < 0 {
d, fract := Modf(-x)
if fract != 0.0 {
d = d + 1
}
return -d
}
d, _ := Modf(x)
return d
}
似乎
func Floor
没有正文。我试图将这些代码复制并粘贴到go文件中。它不会编译。错误消息是missing function body
。所以我的问题是:Go语法中的无 body 功能合法吗?谢谢。 最佳答案
这是在汇编中实现功能的方式。您可以在floor_ARCH.s
(例如:AMD64)文件中找到该程序集的实现。
引用spec:
关于function - Golang中的无 body 功能,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/29285129/