`GOPATH="/root/go"`
包的疑惑:
1.对于第三方加载的包,go可以通过GOPATH去找到,
对于我自己写的包,是否必须放到 `GOPATH` 下,也就是对于我自己写的包,go必须通过 `GOPATH` 找到,有没有其他方式?
2.我发现main包下的多个go文件,是不能相互访问的,这样,可以在不切换 `GOPATH`的情况下,开发多个项目,
不同的项目不同的包,不同的main文件。
我想问的是main包下的文件里面的函数只能一个对吧、?
貌似我问的有点怪怪的,但,我还是有点小迷糊go的包管理。
1. 你的GOPATH是可以配置很多个路径的,基本上项目的代码都是需要放在 GOPATH 下面的。不过在 Golang 1.5 过后引入了 vendor 机制,在这个之前项目依赖的第三方包都是需要单独放在一个或者多个 GOPATH 里面。但是现在你可以把项目依赖的第三方包放在 vendor 目录下面,然后就衍生出了一些包管理工具:godep, gb, glide 等
2. main包下面是可以有多个文件的,就是说你可以多个文件都是 `package main` 这样的,main 包下面的多个 go 文件也是可以相互访问的,你说的不能访问你应该只是用了:go run xxx.go 这样的方式来跑,go run 接受的是文件,你需要把所有文件都run:go run xxx.go xxx1.go xxx2.go 这种方式。 多个项目的时候,建议每个项目有一个 main 包。
#4
更多评论