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

在主包中无法识别导入的更新

在主包中无法识别导入的更新

Go
沧海一幻觉 2021-09-10 21:11:18
我正在处理一个项目并且有几个我创建的包,我将它们导入到我的主项目中。现在,当我获取代码并将其移动到外部包中时,我可以从我的主项目中调用它的功能。但是一旦我将新函数添加到我的外部包中,我总是undefined func...在构建过程中遇到错误。我试过重建我的外部包..但没有运气。我能够更新对我的自定义包的引用的唯一方法是重命名外部包和文件夹。例如,如果我在 /project/blah/blah.go 中有以下内容:package blahfunc DoSomethingCool(s string) {    fmt.Print(s)}我可以在我的主应用程序 (project/web/main.go) 中将此 func 称为blah.DoSomethingCool("Hello World"). 现在这按预期工作。但是现在如果我将包 blah 更新为:package blahfunc DoSomethingCool(s string) {    fmt.Print(s)}func DoSomethingElseEvenCooler(p string, q string) {    fmt.Print(        fmt.Sprint(p, q),    )}即使重建了 blah,我也无法调用 blah.DoSomethingElseEvenCooler("p", "q")。我最终得到一个 func 未定义错误。但是,如果我将 blah 重命名为 foo 并将路径重命名为 /project/foo/foo.go,我可以完美地调用 foo.DoSomethingElseEvenCooler("p", "q")。似乎对包 blah 的引用即使已更改也未更新。在我构建我的主要项目时,有没有办法强制执行此操作?或者我只是错过了什么?
查看完整描述

1 回答

?
婷婷同学_

TA贡献1844条经验 获得超8个赞

呼...运行

go install

在外部包上修复了我的问题。谢谢!


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

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信