Go 语言工程目录

Go 语言 工作区的目录主要分为 src 目录、pkg 目录 以及 bin 目录。

Go语言工作区

一般情况下,Go 语言的源码文件必须放在工作区中。但是对于命令源码文件来说,这不是必需的。工作区其实就是一个对应于特定工程的目录,它应包含 3 个子目录:src 目录、pkg 目录和 bin 目录。

  1. src目录

用于以代码包的形式组织并保存 Go 源码文件,这里的代码包与 src 下的子目录一一对应。例如,若一个源码文件被声明属于代码包 log,那么它就应当保存在 src/log 目录中。

当然,也可以把 Go 源码文件直接放在 src 目录下,但这样的 Go 源码文件就只能被声明属于 main 代码包了。除非用于临时测试或演示,一般还是建议把 Go 源码文件放入特定的代码包中。

  1. pkg目录

用于存放通过 go install 命令安装后的代码包的归档文件。前提是代码包中必须包含 Go 库源码文件。归档文件是指那些名称以 .a 结尾的文件。该目录与 GOROOT 目录下的 pkg 目录功能类似。区别在于,工作区中的 pkg 目录专门用来存放用户代码的归档文件。

编译和安装用户代码的过程一般会以代码包为单位进行。比如 log 包被编译安装后,将生成一个名为 log.a 的归档文件,并存放在当前工作区的 pkg 目录下的平台相关目录中。

  1. bin目录

与 pkg 目录类似,在通过 go install 命令完成安装后,保存由 Go 命令源码文件生成的可执行文件。在类 Unix 操作系统下,这个可执行文件一般来说名称与源码文件的主文件名相同。而在 Windows 操作系统下,这个可执行文件的名称则是源码文件主文件名加 .exe 后缀。

推荐的 GO 应用目录

对于应用项目,其目录布局方式我们可以参考Go项目自身,以及一些使用Go语言开发的优秀开源项目(如Docker,Kubernetes,etcd)等,通过研究这些项目的目录布局,我们可以抽象出以下标准目录:

demo
├── cmd
│   ├── app1
│   │   └── main.go
│   └── app2
│       └── main.go
├── go.mod
├── go.sum
├── internal
│   ├── pkga
│   │   └── pkg_a.go
│   └── pkgb
│       └── pkg_b.go
├── pkg1
│   └── pkg1.go
├── pkg2
│   └── pkg2.go
└── vendor
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风老魔

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值