源代码缺少函数体,如何编译?
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.
在 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.