3

据我了解,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"
)
4

1 回答 1

1

不幸的是,据我所知,没有办法按照你所说的方式做到这一点。Google Go Group 中有一个与Go Packaging 有点相关的讨论:构建一个很棒的包装故事,这可能会给您一些关于为什么不能完成的思考过程的想法(假设您已经不知道这一点)。

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

于 2013-09-12T23:04:07.560 回答