为了账号安全,请及时绑定邮箱和手机立即绑定

导入包名称与文件名不同的本地包

导入包名称与文件名不同的本地包

Go
PIPIONE 2022-08-09 16:43:24
我有一个具有这种结构的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")


查看完整回答
反对 回复 2022-08-09
  • 1 回答
  • 0 关注
  • 146 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号