GOROOT,GOPATH

本文深入探讨了Go语言中的路径配置概念,特别是GOPATH的工作原理及其如何管理项目的组织结构。文章详细介绍了GOPATH如何替代传统的项目路径和第三方包路径的概念,并通过实例说明了如何正确地组织代码以利用GOPATH的优势。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于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的自动完成可以用了


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值