我创建了一个项目结构,
main.go
和foo/bar.go
在main.go中,导入了foo软件包并用作foo.functionName()。现在,我需要在bar.go中编写swagger文档。当我这样做时,以以下错误消息结尾,
unable to determine package for /PATH_TO_PROJECT/foo/bar.go
答案 0 :(得分:0)
确保在foo/bar.go
中声明的包为package foo
。然后,您要在main.go
文件中访问的函数应以大写字母开头。即
foo/bar.go
package foo
// PrintBar with extra txt
func PrintBar(txt string) string {
return "bar with txt " + txt
}
然后在main.go
package main
import (
"fmt"
"github.com/username/project/foo"
)
func main() {
fmt.Println("in main.go")
fmt.Println(foo.PrintBar("from main.go"))
}
答案 1 :(得分:0)
尝试通过在swagger命令前面添加DEBUG=1
为swagger启用调试模式。这样可以打印出您所考虑的路径。
如果您查看source code where this error is thrown,则只会在文件不在$GOPATH
中时看到此错误。再次检查程序是否位于$GOPATH/src
下。