GOROOT 和 GOPATH

喻恒春 · · 834 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

关于gopath的设置之类的文章很多,看官自行go. 这里要在另外一个角度去解说gopath. 在我们以前熟悉的各种语言中都有这样几个概念: 系统路径,官方包路径,第三方包路径,项目路径。

好了go中只有两个路径.

GOROOT: go的安装路径,官方包路径根据这个设置自动匹配

GOPATH: 工作路径(其实不应该用中文翻译解释,直接说GOPATH更合适)

问题:项目路径和第三方包路径呢? 首先:go中是没有项目这个概念的,只有包。可执行包只是特殊的一种,类似我们常说的项目 GOPATH可以设置多个,不管是可执行包,还是非可执行包,通通都应该在某个 $GOPATH/src下。

如果你这样做了,那么就不会出现本地包这种写法了

<!-- lang: cpp -->
import "./pathtopackage"

比如你可以把你的可执行(项目)包,安放在某个 $GOPATH/src下,例如 $GOPATH/src/app/youpackagedir

这样本地包的import就变成

<!-- lang: cpp -->
import "app/yourpackagedir/subpackage"

这样有什么用呢?

  1. 可以使用 go install 你的子包,有利于go build的时间,如果子包较大,那就更明显了
  2. go code的自动完成可以用了

有疑问加站长微信联系(非本文作者)

本文来自:开源中国博客

感谢作者:喻恒春

查看原文:GOROOT 和 GOPATH

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

834 次点击  
加入收藏 微博
0 回复
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传