我有一个具有这种结构的Go项目src/
main.go (package main.go)
www/
api.go (package apictrl)
url_mapping.go (package apictrl)
core/
model.go (package mlsnd)当我使用Visual Studio Code和WSL Debian进行编码时,当我写入main.go文件时,我得到了错误。undefined: apictrlapictrl.StartRouter()我尝试了以下方法: import ( "../www"
) import ( "../www/apictrl"
) import ( "../apictrl"
) import ( "/mnt/c/Users/myusername/path/toproject/src/apictrl"
) import ( "/mnt/c/Users/myusername/path/toproject/src/www/apictrl"
) import ( "/mnt/c/Users/myusername/path/toproject/src/www"
)正如我在这篇文章中看到的那样,导入包和类型,但它们都不起作用。
1 回答

偶然的你
TA贡献1841条经验 获得超3个赞
因此,正如评论所指出的那样,我发现了解决方案:
首先,我必须重命名所有文件夹,以包含它们所包含的包的名称
src/ main/ main.go (package main) apictrl/ api.go (package apictrl) mlsnd/ model.go (package mlsnd)
在main.go中,我必须使用go.mod中给定模块的名称导入所需的包(创建于go mod init package.name
)
import ( "package.name/src/apictrl")
- 1 回答
- 0 关注
- 146 浏览
添加回答
举报
0/150
提交
取消