【发布时间】:2016-06-05 05:15:27
【问题描述】:
我在 Go 中有一个简短的程序,其中包含以下文件。 程序目录结构:
myprogram/
main.go
server.go
routines.go
structs.go
这些不同的文件包含不同的功能。 structs.go 文件包含定义的结构类型列表,并在我的程序的几个文件中使用。我现在想要做的是将我的程序拆分成包,就像这个例子一样:
main/
main.go // the main program
server/
server.go // a package imported in main
routines/
routines.go // a package imported in main
我的问题是我不知道把structs.go 放在哪里,因为它包含多个包中使用的结构,如'main.go' 代码中的结构。
如何有效地分享这个structs.go 文件?我是否应该将它(通过文件的符号链接)包含在我定义的每个包中,即 server 和 routines 以及 main 中?
我的方法可能很笨拙,因为我是 Go 的初学者,而且一般是编程。
【问题讨论】:
-
没有必要将东西分离到它自己的包中。问问自己:这种分裂带来了什么实际好处?现在比较一下成本。
-
目标是在
main以外的其他程序中重复使用其中的一些包。