【发布时间】:2020-04-13 16:18:29
【问题描述】:
我想推出一些 API,从主包到单独的包中:
myapp/
main.go
myapi/
myapi.go
在main.go我有
package main
import "./myapi"
...
myapi.go 的开头是:
package myapi
...
当我尝试运行 main 时,它似乎找不到我的 myapi #include。它给了我以下错误:
D:\go\myapp> go run .
build _/D_/go/myapp/myapi: cannot find module for path _/D_/go/myapp/myapi
我来自 C/C++ 世界,如何从 golang 的子文件夹中包含它非常不明显。你能帮我解决这个问题吗?
【问题讨论】:
-
您可以使用一个模块文件来定义您的模块及其子模块的名称
-
@xarantolus 怎么样?鉴于上述示例程序,我应该执行哪些操作?
-
@xakepp35:什么是无意义的?按预期使用 Go?
-
@xakepp35 你应该在你的包根目录(
myapp)中运行go mod init your.domain/somename,它将创建一个名为go.mod的文件。现在您可以导入your.domain/somename/myapi来访问您的包。当您将根文件夹移动到其他位置时,您仍然可以构建它。你甚至可以通过vendoring your dependencies 在另一台电脑上下载软件包而不用构建它