为了账号安全,请及时绑定邮箱和手机立即绑定

Golang 中的无实体函数

Golang 中的无实体函数

Go
慕标5832272 2021-09-27 10:57:17
阅读 的源代码math/floor.go,从第 13 行开始,我阅读了一些这样的代码:func Floor(x float64) float64func 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 语法中的无实体函数是否合法?谢谢。
查看完整描述

2 回答

?
喵喔喔

TA贡献1735条经验 获得超5个赞

这是在汇编中实现函数的方式。您可以在floor_ARCH.s(例如:AMD64)文件中找到程序集实现。

引用规范

函数声明可以省略主体。这样的声明为在 Go 之外实现的函数提供了签名,例如汇编例程。


查看完整回答
反对 回复 2021-09-27
  • 2 回答
  • 0 关注
  • 265 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信