go - 为什么 go package code 没有 body?

标签 go package

<分区>

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

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

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

我只是遵循这段代码,但不起作用。

谁能解释一下原因??

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

关于go - 为什么 go package code 没有 body?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31906504/

相关文章:

delphi - 在应用程序和包之间共享内存管理器

java - 如何使用两个或多个包并在 list 中声明它们? - 安卓

r - 有没有办法在 r 中自动重新安装软件包及其依赖项?

java - 这就是 Java 包导入的工作方式吗?

macos - 如何在Vim中存储Golang模板宏

json - GO 中 JSON 对象的结构

go - “user: Current not implemented on linux/amd64” 在 Fedora 上带有新鲜的 golang

go - Go中明确作用域 block 的目的?

go - 使用 Go-Github 和 http.Transport 时如何设置 HTTP 请求 header ?

Java类位于同一个包(不同目录)但不能互相访问