Function 如何从不同的文件访问同一软件包中未报告的函数

Function 如何从不同的文件访问同一软件包中未报告的函数,function,go,export,godoc,Function,Go,Export,Godoc,我正在尝试在本地构建源代码以进行一些更改。我的工作目录是/Users/Dany/go/src/github.com/golang/gddo。在gddo服务器包中有几个文件。其中一个go文件使用另一个文件中的函数,该文件位于同一个包中,但未报告。它正在抛出未定义:异常 文件夹的结构是 golang/gddo/ gddo-server main.go crawl.go 我们如

我正在尝试在本地构建源代码以进行一些更改。我的工作目录是
/Users/Dany/go/src/github.com/golang/gddo
。在gddo服务器包中有几个文件。其中一个go文件使用另一个文件中的函数,该文件位于同一个包中,但未报告。它正在抛出
未定义:
异常

文件夹的结构是

golang/gddo/
              gddo-server
                        main.go
                        crawl.go

我们如何在不同的文件中使用来自同一个包的未报告函数?谁能帮我一下吗。另外,如果有人知道如何构建godoc.org代码?

相同包的源文件可以引用任何源文件中定义的标识符,而无需任何努力。如果它们位于同一文件夹中,并且具有相同的包声明,则可以引用所有已导出和未导出的包级别标识符,就像所有已在一个文件中定义一样

见:

包又由一个或多个源文件构成,这些源文件一起声明属于包的常量、类型、变量和函数,并且可以在同一包的所有文件中访问这些常量、类型、变量和函数

以及:

共享同一PackageName的一组文件构成包的实现。实现可能要求包的所有源文件位于同一目录中

需要注意的是:您的示例似乎是特殊的
main
包。如果要在运行时使用
go run
,则必须枚举所有源文件

要使用
go run
运行示例,请导航到
gddo server
文件夹并键入:

go run background.go browse.go client.go crawl.go graph.go main.go play.go template.go 
go build
或者,如果您首先构建它,则更简单。导航到
gddo服务器
文件夹并键入:

go run background.go browse.go client.go crawl.go graph.go main.go play.go template.go 
go build
这将在同一文件夹中生成本机可执行二进制文件。要运行它,请键入:
gddo服务器
(在Windows上)或
/gddo服务器
(在Linux上)


或者您可以使用
go install
安装它,它会将结果可执行二进制文件放在您的
$GOPATH/bin
文件夹中。

同一软件包的源文件可以引用任何源文件中定义的标识符,无需任何努力。如果它们位于同一文件夹中,并且具有相同的包声明,则可以引用所有已导出和未导出的包级别标识符,就像所有已在一个文件中定义一样

见:

包又由一个或多个源文件构成,这些源文件一起声明属于包的常量、类型、变量和函数,并且可以在同一包的所有文件中访问这些常量、类型、变量和函数

以及:

共享同一PackageName的一组文件构成包的实现。实现可能要求包的所有源文件位于同一目录中

需要注意的是:您的示例似乎是特殊的
main
包。如果要在运行时使用
go run
,则必须枚举所有源文件

要使用
go run
运行示例,请导航到
gddo server
文件夹并键入:

go run background.go browse.go client.go crawl.go graph.go main.go play.go template.go 
go build
或者,如果您首先构建它,则更简单。导航到
gddo服务器
文件夹并键入:

go run background.go browse.go client.go crawl.go graph.go main.go play.go template.go 
go build
这将在同一文件夹中生成本机可执行二进制文件。要运行它,请键入:
gddo服务器
(在Windows上)或
/gddo服务器
(在Linux上)


或者您可以使用
go install
安装它,它会将结果可执行二进制文件放在您的
$GOPATH/bin
文件夹中。

同一软件包的源文件可以引用任何源文件中定义的标识符,无需任何努力。如果它们位于同一文件夹中并且具有相同的包声明,则可以引用所有已导出和未导出的包级别标识符,就像所有已在一个文件中定义一样。相同包的源文件可以引用在任何源文件中定义的标识符,而无需任何努力。如果它们位于同一文件夹中,并且具有相同的包声明,则可以引用所有已导出和未导出的包级别标识符,就像在一个文件中定义所有标识符一样。是的。你是对的。在这种情况下,文件夹名为gddo server,但所有文件都有
package main
声明。有没有关于如何在本地运行的建议?是的。你是对的。在这种情况下,文件夹名为gddo server,但所有文件都有
package main
声明。有没有关于如何在本地运行的建议?