惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

GbyAI
GbyAI
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 叶小钗
大猫的无限游戏
大猫的无限游戏
H
Help Net Security
G
Google Developers Blog
D
Docker
阮一峰的网络日志
阮一峰的网络日志
A
About on SuperTechFans
aimingoo的专栏
aimingoo的专栏
博客园 - 聂微东
Hugging Face - Blog
Hugging Face - Blog
酷 壳 – CoolShell
酷 壳 – CoolShell
Apple Machine Learning Research
Apple Machine Learning Research
云风的 BLOG
云风的 BLOG
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
腾讯CDC
T
The Blog of Author Tim Ferriss
Microsoft Security Blog
Microsoft Security Blog
WordPress大学
WordPress大学
I
InfoQ
Engineering at Meta
Engineering at Meta
Stack Overflow Blog
Stack Overflow Blog
Google DeepMind News
Google DeepMind News

博客园 - 夏之夜

Linux 学习笔记之(十四)二进制分析工具 GO 学习笔记之四 工具(1)远程调试工具 dlv Shell命令集锦(一) Postgres 数据库(三)常见DDL命令 elasticsearch 学习笔记之五 备份还原开源方案比较 elasticsearch 学习笔记之四 快照 GO 学习笔记之一 环境安装 GO 学习笔记之零 (四)字符串处理集锦 GO 学习笔记之零 (三)常见问题处理集锦 GO 学习笔记之三 基础语法(5) 切片 GO 学习笔记之三 基础语法(12)文件操作 GO 学习笔记之五 编程(三)单元测试 ( VSCODE工具运行 ) GO 学习笔记之三 基础语法(11) 数据类型转换 GO 学习笔记之零 (二)git 操作(VSCODE) Git 学习笔记之(六)windows 上 git 工具 安装 GO 学习笔记之二 常用命令集锦 elasticsearch 学习笔记之一 elasticdump elasticsearch 学习笔记之二 常见接口 专题(二十) cut
GO 学习笔记之零 (一)GO推荐的工程目录结构
夏之夜 · 2024-12-17 · via 博客园 - 夏之夜

1、工程目录结构

GOPATH/
    src/
        myproject/
            cmd/
                myapp/
                    main.go
            pkg/
                utils/
                    utils.go
            internal/
                secret/
                    secret.go
api/
web/
scripts/
configs/
test/ vendor
/ .gitignore LICENSE README.md go.mod go.sum

2、说明

  • GOPATH:这是你的工作目录,所有Go项目代码都会放在这个目录下的src子目录中。

  • myproject:你的项目名,这个目录会在GOPATH/src下创建。

  • cmd:包含所有的命令行应用入口文件。

  • myapp:你的应用名,包含了应用的入口文件main.go

  • pkg:包含可以被其他项目导入和使用的代码。

  • utils:工具包名,包含了一些公共的工具函数。

  • internal:包含不打算被其他项目导入和使用的内部代码。

  • secret:包含秘密信息的代码,比如配置文件等。
  • api:包含 API 定义文件,如 OpenAPI/Swagger 规范、gRPC 文件等。
  • web或ui目录:如果项目包含前端代码,通常会有这个目录。
  • configs:包含配置文件模板或默认配置。
  • test:包含额外的外部测试应用程序和测试数据。这与单元测试不同,单元测试通常与它们测试的代码位于同一个目录中。
  • scripts:包含用于执行各种构建、安装、分析等操作的脚本。
  • vendor:用于存放依赖的第三方库。

  • .gitignore:Git版本控制忽略文件列表。

  • LICENSE:项目许可证。

  • README.md:项目的README文件。

  • go.mod:Go模块依赖定义文件。

  • go.sum:Go模块依赖的校验和记录文件。

posted @ 2024-12-17 15:00  夏之夜  阅读(509)  评论()    收藏  举报