我将我的GOPATH设置为
func_reference
我有
def my_filter(cell):
if cell[-1] == ']':
return cell
return cell + ']'
filtered_df = df.applymap(my_filter)
以及
/Users/me/dev/go
我不喜欢在我的root dev文件夹中我不得不拥有这个包含许多不同客户端项目的通用“go”目录。
答案 0 :(得分:43)
是的,GOPATH
是一个目录列表(如PATH
)。有关详细信息,请运行go help gopath
。例如,在Linux上,我有:
$ go env
GOROOT="/home/peter/go"
GOPATH="/home/peter/gopath:/home/peter/public/gopath"
$
我在Windows上有类似的东西。
注意:Linux使用:
作为GOPATH
列表分隔符; Windows使用;
作为分隔符。
如果您使用go get
,它将默认为列表中的第一个目录。
运行go env
以检查一切是否正确。
答案 1 :(得分:13)
This blog post给出了一个很好的解释,说明如何以及为什么要在GOPATH中设置多个值,特别是当它说:
我的GOPATH包含3个文件夹或GOPATH工作区。
第一个是我的登陆工作区。由于它首先列出,每当我获得任何新包时,它总是在这个工作区中结束。
Go搜索GOPATH中列出的每个目录以查找源代码,但新包始终下载到列表中的第一个目录中。 我规定永远不要在那里进行任何开发,所以每当它变得太大时清理这个文件夹总是完全安全的(使用我不使用的Go包)。毕竟,它只有Go包,我可以再次使用go get。
我的第二个工作区适用于所有我的个人Go包以及我可能想要“喜欢”或进行一些开发的任何其他包。我将我经常使用的东西从第一个工作区移到第二个工作区。
我的第三个工作区专门用于我工作中的私有Go包及其依赖项。将我的工作包与我的所有个人资料分开是很方便的,所以他们不会互相帮助。
答案 2 :(得分:12)
是
引用Go本身:
$ go help gopath
Go路径用于解析import语句。 它由go / build包实现并记录。
GOPATH环境变量列出了寻找Go代码的位置 在Unix上,该值是以冒号分隔的字符串 在Windows上,该值是以分号分隔的字符串 在计划9中,值是一个列表。
必须将GOPATH设置为获取,构建和安装包之外的包 标准的Go树。
GOPATH中列出的每个目录都必须具有规定的结构:
src目录包含源代码。 src下面的路径 确定导入路径或可执行文件名称。
...