我正在处理一个项目并且有几个我创建的包,我将它们导入到我的主项目中。
现在,当我获取代码并将其移动到外部包中时,我可以从我的主项目中调用它的功能。但是一旦我将新函数添加到我的外部包中,我总是undefined func...在构建过程中遇到错误。
我试过重建我的外部包..但没有运气。我能够更新对我的自定义包的引用的唯一方法是重命名外部包和文件夹。
例如,如果我在 /project/blah/blah.go 中有以下内容:
package blah
func DoSomethingCool(s string) {
fmt.Print(s)
}
我可以在我的主应用程序 (project/web/main.go) 中将此 func 称为blah.DoSomethingCool("Hello World"). 现在这按预期工作。但是现在如果我将包 blah 更新为:
package blah
func 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 的引用即使已更改也未更新。在我构建我的主要项目时,有没有办法强制执行此操作?
或者我只是错过了什么?
婷婷同学_
相关分类