Revel 和 golang 导入太物理?

Revel and golang import too physical?

刚从 go/revel 开始。我将 "examples/booking" 应用程序复制到 "examples/booking2" 目录中,这样我就可以处理它 w/o 影响原始应用程序。

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

我追踪到了进口:

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

一旦我在所有相关导入中将 "booking" 更改为 "booking2",一切都很好。但我的第一个想法是"why is an import path so physical?"。我认为在应用程序中应该有一种方法可以相对引用应用程序的各种包 w/o 必须引用应用程序所在的物理路径。

有办法吗?

甚至不确定这是 "go" 还是 "revel"。

谢谢。

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

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

看来你可以像这样做一个相对导入:

../other-pkg

但它是 not idiomatic or recommended