我有一系列的go文件,它们通过use链接在一起,但是逻辑上是独立的,它们都使用一组通用的helper函数,这些函数定义在一个单独的文件中。
我的目录结构如下所示。
src/
├── foo1.go
├── foo2.go
├── ...
├── fooN.go
└── helper/
└── helper.go
foox.go文件都是这种形式-
package main
import help "./helper"
// functions and structs that use functionality in
// helper but are not related to anything going on
// in other foox.go files
func main() {
// more things that uses functionality in helper
// but are not related to anything going on in
// other foox.go files
return
}
我用go run foox.go
运行特定的文件,但最近更新了我的Go版本。由于不再允许相对导入,这个工作流现在中断了-"./helper" is relative, but relative import paths are not supported in module mode
如何构造一个独立于Go语言文件的集合,这些文件都依赖于同一个帮助函数集合?
所有的指南都说要使用模块,但在这种情况下,这意味着每个foox.go文件都有一个单独的模块,每个文件都包含func
s,struct
s * 等,这些模块永远不会在任何其他模块中使用。
我所要做的就是能够运行一个包含另一个本地.go文件的.go文件,而不必经历制作几十个模块的麻烦。
1条答案
按热度按时间jum4pzuy1#
可以通过设置环境变量
GO111MODULE=off
来禁用模块模式