源代码缺少函数体,如何编译?

Source missing function body, how is it compiling?

在 Go 语言源代码中,我看到一个函数声明没有任何主体。 https://github.com/golang/go/blob/master/src/math/log10.go#L9

func Log10(x float64) float64

但是当我这样做时,它给了我一个错误:__

缺少函数体

https://play.golang.org/p/Ncp-0-8vHB

这在 Go 源代码中是如何工作的?我的意思是数学包是如何编译的?此源文件是否仅用于文档目的?

看起来 Log10 是 log10 的 public/exposed 版本,但是语言中没有 "getter" 约定或类似的东西,那么 Log10 的主体在哪里声明???

它在位于同一包中的 *.s 文件中针对各种体系结构在程序集中定义。

根据 the spec:

A function declaration may omit the body. Such a declaration provides the signature for a function implemented outside Go, such as an assembly routine.