1.golang项目结构

1.二进制可执行项目的结构

bash 复制代码
tree .                                                             [14:52:58]
.
├── cmd
│   ├── app1
│   │   └── main.go
│   └── app2
│       └── main.go
├── go.mod
└── pkg
    ├── lib1
    │   └── lib1.go
    └── lib2
        └── lib2.go

7 directories, 5 files

1.cmd目录

用来存放可执行程序的main文件,即用go build指定的文件,如果有多个可执行文件的话细分为多个app文件,存放多个可执行文件,例如app1中的main是一个client程序,app2中的main是一个server程序。

2.pkg目录

用来存放项目依赖的一些包,比如cmd中的main需要依赖的代码包,需要注意的是该目录下的代码也可以被外部引用,是项目导出包的一个集合。

2.库项目的结构

库项目的作用是对外提供使用,所以不需要存放二进制main文件的cmd目录,去掉cmd目录即可。

3.internal目录

如果有些包不想被外部引用到,可以将想隐藏的包放在项目根目录下的internal目录中,internal目录下的包外部是无法引用的,但是本项目下的代码是可以访问的。

相关推荐
程农12 小时前
基于Java的报名系统
java·开发语言
yugi98783812 小时前
基于字典缩放的属性散射中心参数提取MATLAB仿真程序
开发语言·matlab
lkbhua莱克瓦2413 小时前
深入理解HTTP协议:从理论到SpringBoot实践
网络·笔记·后端·网络协议·http·javaweb
小白学大数据13 小时前
绕过拼多多 App 反抓包机制的综合逆向解决方案
开发语言·爬虫·python·自动化
使者大牙13 小时前
【单点知识】 Python装饰器介绍
开发语言·数据库·python
带土113 小时前
2. C++ private、protected、public
开发语言·c++
我不是8神13 小时前
字节跳动 Eino 框架(Golang+AI)知识点全面总结
开发语言·人工智能·golang
古城小栈13 小时前
Rust复合类型 四大军阀:数、元、切、串
开发语言·后端·rust
zhuhezhang13 小时前
go wails doctor提示Required dependencies missing: libwebkit
golang·wails·libwebkit
kong790692813 小时前
Python核心语法-Python自定义模块、Python包
开发语言·python·python核心语法