使用一个本地导入运行一个Go文件,而不使用模块

jpfvwuh4  于 2022-12-07  发布在  Go
关注(0)|答案(1)|浏览(1347)

我有一系列的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文件,而不必经历制作几十个模块的麻烦。

jum4pzuy

jum4pzuy1#

可以通过设置环境变量GO111MODULE=off来禁用模块模式

相关问题