只是从go/revel开始。我将“examples/booking”应用复制到“examples/booking2”目录中,这样我就可以不影响原始内容了。

当我运行它时,我得到了奇怪的结果,尤其是数据库中的初始数据似乎是重复的。

我将其追溯到进口:

import "github.com/revel/examples/booking/app/models"

一旦我在所有相关的导入中将“booking”更改为“booking2”,一切就很好了。但是我的第一个想法是“为什么导入路径如此物理?”。我认为,在应用程序内应该有一种方法可以相对引用应用程序的各种程序包,而不必引用应用程序所在的物理路径。

有没有办法做到这一点?

甚至不确定这是“行”还是“revel ”。

谢谢。

最佳答案

相对于$GOPATH/src/,导入路径直接映射到文件系统路径。

https://golang.org/doc/code.html#ImportPaths

看来您可以像这样进行相对导入:

../other-pkg

但这是not idiomatic or recommended

10-08 08:08