3 回答
TA贡献1712条经验 获得超3个赞
如果您想做的只是访问不同文件中的函数,请使用 functions.go 开头而package main
不是package dart
. 这样,您就在一个包中工作,但您的代码分为多个文件。确保它们在同一个目录中,以便它们被视为在同一个包中。
TA贡献2041条经验 获得超4个赞
假设它们共享相同的定义,您可以毫无问题地在同一个包下拆分不同的文件package
。同一目录下不同包定义的唯一例外是测试,其中定义包的推荐方法是在_test
其上添加(例如package main_test
或package dart_test
)。
不确定这是你的情况还是你只是在试验这种语言,但我想补充一点,当你将相同的域代码分组在包下并共享它们时,Go 项目更容易维护,从而增加潜在的可重用性。
TA贡献1831条经验 获得超9个赞
如果您只是想创建一个库,那么您将不需要主包。但是,如果您希望创建一个运行来自不同包 ( dartlib) 的函数的独立程序,那么您将需要一个主文件。
将您的程序命名为与您正在调用的库(程序 dart调用库 dartlib)不同的名称也是一个好主意
图书馆
您的库目录结构应如下所示:
dartlib
|
dartlib.go
dartlib.go
package dartlib
function Hello() string { return "hello!" }
这可以按以下方式导入: "github.com/your_github_username/dartlib"
程序
或者,您可以将包存储在您的程序目录中。在这种情况下,目录结构应如下所示:
dart (you_program_name)
|
dart.go
dartlib (package)
|
dartlib.go
在这种情况下,可以按以下方式导入库: "github.com/your_github_username/dart/dartlib"
飞镖.go
package main
import (
"github.com/your_github_username/dart/dartlib"
"fmt"
)
helloString := dartlib.Hello()
fmt.Println(helloString)
go build .在根目录生成dart可执行文件。
$./dart
hello!
- 3 回答
- 0 关注
- 153 浏览
添加回答
举报