我正在开展一个项目,并且已经创建了一些我在主项目中导入的软件包。
现在当我接受代码并将其移动到外部包中时,我可以从我的主项目中调用它的功能。但是一旦我将新函数添加到我的外部包中,我在构建过程中总是会遇到undefined func...
错误。
我试过重建我的外包装......但没有运气。我能够更新对自定义程序包的引用的唯一方法是重命名外部程序包&文件夹中。
例如,如果我在/project/blah/blah.go中有以下内容:
package blah
func DoSomethingCool(s string) {
fmt.Print(s)
}
我可以在我的主应用程序(project / web / main.go)中将此func称为blah.DoSomethingCool("Hello World")
。现在这可以按预期工作。但现在如果我将包装更新为:
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")。我最终得到了一个未定义的错误。
但是,如果我将blah重命名为foo并将路径重命名为/project/foo/foo.go,我可以完美地调用foo.DoSomethingElseEvenCooler(" p"," q")精细。似乎对包blah的引用即使已经更改也没有更新。在我建立我的主项目时,有没有办法强迫这个?
或者我错过了什么?
答案 0 :(得分:0)
Phew ......正在运行
go install
外部包上的修复了我的问题。谢谢!