美文网首页
Go语言项目结构

Go语言项目结构

作者: 羋学僧 | 来源:发表于2021-11-16 11:21 被阅读0次

    在进行Go语言开发的时候,我们的代码总是会保存在$GOPATH/src目录下。在工程经过go buildgo installgo get等指令后,会将下载的第三方包源代码文件放在 $GOPATH/src 目录下,产生的二进制可执行文件放在 $GOPATH/bin目录下,生成的中间缓存文件会被保存在 $GOPATH/pkg 下。

    Tips : 如果我们使用版本管理工具(Version Control System,VCS。常用如Git/Svn)来管理我们的项目代码时,我们只需要添加$GOPATH/src目录的源代码即可, bin 和 pkg 目录的内容无需版本控制。

    GOPATH目标下文件目录组织架构的设置有以下三种:

    (1)适合个人开发者

    描述: 我们知道源代码都是存放在GOPATH的src目录下,那我们可以按照下图来组织我们的代码。

    (2)适合企业开发场景

    描述: 此种目录结构设置更适合企业开发环境,以代码仓库为前缀并以公司内部组织架构为基准,其次是项目名称,最后是各个模块开发的名称。

    (3)目前流行的项目结构

    描述: Go语言中也是通过包来组织代码文件,我们可以引用别人的包也可以发布自己的包,但是为了防止不同包的项目名冲突,我们通常使用顶级域名来作为包名的前缀,这样就不担心项目名冲突的问题了。

    因为不是每个个人开发者都拥有自己的顶级域名,所以目前流行的方式是使用个人的github用户名来区分不同的包。

    举例说明: 张三和李四都有一个名叫studygo的项目,那么这两个包的路径就会是:

    import "github.com/zhangsan/studygo"
    import "github.com/lisi/studygo"
    

    举例说明: 同样如果我们需要从githuab上下载别人包的时候如:go get github.com/jmoiron/sqlx, 那么这个包会下载到我们本地GOPATH目录下的src/github.com/jmoiron/sqlx

    相关文章

      网友评论

          本文标题:Go语言项目结构

          本文链接:https://www.haomeiwen.com/subject/qdmqtrtx.html