据我所知,golang导入模块如
import (
"bitbucket.org/user/project"
"github.com/user/project"
)
是否可以从
中导入所有文件中的模块,而无需显式输入绝对远程位置1)单个远程位置?
2)多个地点?
因此对于1),您可以在某处指定主机是github.com/user,并且任何非默认库且没有远程前缀的导入都以github.com/user为前缀。或者有一个prefix_variable + relative / path并且能够在某处设置prefix_variable?
所以喜欢
// in some config file
github = "github.com/user/"
bitbucket = "bitbucket.org/user/"
// imported in file
import (
bitbucket + "project" // "bitbucket.org/user/project"
github + "project" // "github.com/user/project"
)
或
// in some config file
default = "github.com/user"
// imported in file
import (
"bitbucket.org/user/project" // this has a remote prefix, so default prefix is not added
"project" // "github.com/user/project"
)
答案 0 :(得分:1)
不幸的是,据我所知,没有办法按照你所说的方式这样做。 Google Go Group中有一个讨论有点相关Go Packaging: building a great packaging story,它可能会为您提供一些关于为什么不能这样做的思考过程的想法(假设您已经不知道这一点)。
我实际上有一个相关的问题,它与为两个不同的服务器环境生成构建相关联,一个用于Google App Engine,一个用于本地linux开发环境共享包(导入),我仍在寻找解决方案,因此看这种讨论。