阅读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的语法中,脱胎功能是否合法?感谢。
答案 0 :(得分:12)
答案 1 :(得分:0)
就我而言,我有“ ../../../pkg/mod/golang.org/x/tools@v0.0.0-20190814235402-ea4142463bf3/go/ssa/interp/testdata/src/fmt/ fmt.go:3:6:缺少函数体”错误!
那是因为我没有导入就使用了fmt,所以我的IDE导入了错误的包
我通过删除fmt导入并仅导入“ fmt”来解决了该问题