Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Source missing function body, how is it compiling? [duplicate]

In the Go lang source code, I see a function declared without any body. https://github.com/golang/go/blob/master/src/math/log10.go#L9

func Log10(x float64) float64

But when I do the same it gives me an error: missing function body for __

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

How is this working in the Go source code? I mean how is the math package compiling? Is this source file just for documentation purposes?

It seems like Log10 is a public/exposed version of log10, but there is no "getter" convention or anything like that in the language, so where is the body of Log10 declared???

like image 219
pkm Avatar asked Sep 06 '25 05:09

pkm


1 Answers

It is defined in assembly for various architectures in the *.s files located in the same package.

Per 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.

like image 70
Adrian Avatar answered Sep 07 '25 21:09

Adrian