当前位置: 首页 > article >正文

Go语言的学习笔记3——Go语言项目布局

Go 1.11 版本开始引入 go.mod 和 go.sum 以支持Go Module构建机制,而这种机制成为官方的依赖包管理方式。
现在Go可执行程序项目的典型布局如下所示:

exe-layout
├── 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/

我们从上往下按顺序来,先来看 cmd 目录。cmd 目录就是存放项目要编译构建的可执行文件对应的 main 包的源文件。如果你的项目中有多个可执行文件需要构建,每个可执行文件的 main 包单独放在一个子目录中,比如图中的 app1、app2,cmd 目录下的各 app 的 main 包将整个项目的依赖连接在一起。
pkgN 目录,这是一个存放项目自身要使用、同样也是可执行文件对应 main 包所要依赖的库文件,同时这些目录下的包还可以被外部项目引用。
然后是 go.mod 和 go.sum ,它们是 Go 语言包依赖管理使用的配置文件。我们前面说过,Go 1.11 版本引入了 Go Module 构建机制,这里我建议你所有新项目都基于 Go Module 来进行包依赖管理,因为这是目前 Go 官方推荐的标准构建模式。

此文章为11月Day 26学习笔记,内容来源于极客时间《Tony Bai · Go 语言第一课》。


http://www.kler.cn/a/147023.html

相关文章:

  • OA项目登录
  • maven中scope和optional区别
  • hadoop源码解读
  • opencv-利用DeepLabV3+模型进行图像分割去除输入图像的背景
  • Redis之C语言底层数据结构笔记
  • UE5富文本框学习(用途:A(名字)用刀(图片)击杀B(名字))
  • Nginx的location块相关知识积累(包括常用的正则匹配表达式的介绍)
  • PLC ST语言经典电路之 一键启停 和 时钟脉冲
  • cadence virtuoso simulation文件夹删除
  • 文件元数据批量修改:mp3音频和mp4视频的元数据如何批量修改
  • ARM异常模型
  • 基于51单片机的超声波测距系统【程序+proteus仿真+参考论文+原理图+PCB等16个文件夹资料】
  • Flutter 开发入门文章汇总
  • HNU 练习八 结构体编程题2. 招聘
  • 一对一连接MODBUS转PROFINET网关TS-182技术特点和主要参数
  • 为何要隐藏IP地址?网络上哪些行为需要隐藏IP和更换IP?
  • 某思路等考通一级MSOffice的分析
  • 15:00面试,15:06就出来了,问的问题有点变态。。。
  • 普通表计读数开发思路
  • 使用conan包 - 调试软件包
  • 【Unity程序技巧】加入缓存池存储地图资源,节省资源,避免多次CG