为什么 go package code 没有 body?

Why go package code has no body?

学习导出打包的时候想知道go包的编码风格

发现source(ex:"math", "fmt")中package的代码有

函数以大写字母开头但没有正文。

我只是按照此代码进行操作,但不起作用。

谁能解释一下为什么?

func Abs(x float64) float64

func abs(x float64) float64 {
    switch {
    case x < 0:
        return -x
    case x == 0:
        return 0 // return correctly abs(-0)
    }
    return x
}

这些函数在汇编程序中实现 (https://golang.org/doc/asm) 它们有特定于平台的实现:看看例如:

$GOROOT/src/math/abs_amd64.s

对于

func Abs(x float64) float64