导入前缀golang?

时间:2013-09-12 22:20:05

标签: go

据我所知,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"
)

1 个答案:

答案 0 :(得分:1)

不幸的是,据我所知,没有办法按照你所说的方式这样做。 Google Go Group中有一个讨论有点相关Go Packaging: building a great packaging story,它可能会为您提供一些关于为什么不能这样做的思考过程的想法(假设您已经不知道这一点)。

我实际上有一个相关的问题,它与为两个不同的服务器环境生成构建相关联,一个用于Google App Engine,一个用于本地linux开发环境共享包(导入),我仍在寻找解决方案,因此看这种讨论。