type
status
date
slug
summary
tags
category
icon
password
1. 背景
整洁架构思想的理论可以参考:[中文译文]。
在 Go 工程实际的落地过程中,经过工作中的实践总结出一套可落地的方案,参考我的项目说明:
。
go-clean-arch
Github
go-clean-arch
Owner
xpzouyingUpdated
Apr 10, 2024为了避免每次在新创建项目时,从头开始整理项目目录,总结了一套整洁架构版本的 Go 工程的可用模板:
,直接 Fork 后可以快速修改成自己的项目。
go-clean-code-template
Github
go-clean-code-template
Owner
xpzouyingUpdated
Apr 11, 2024特点:
- 使用整洁架构的项目规范。
- 完备的运维配置。
- 支持 HTTP 服务的优雅关闭。
- 规范化的日志。
模板接口文档:
2. 项目模板说明
简单介绍一些项目能力。
2.1. Makefile
通过 Makefile 文件管理,
编译后,由于把编译信息已经完全注入到二进制后,可以通过命令行或者接口获取编译信息。
- 命令行
- API 接口方式(使用 httpie 命令)
2.2. 日志规范
服务运行后,日志的输出如下,

特别说明:
可以理解为对于整洁架构中的每一层模块,工程中都指定了对应标签的日志,例如标红区域会标示出是哪一个业务,middleware、usecase 等等。
这样做的好处是,
- 查看日志时,能快速定位那一模块的日志信息。
- 当我们搜索日志时,我们如果只关心某一层(middleware、domain、repository 等)本身的信息时,只需要用对应的日志标签进行过滤即可。比如想查看 HTTP 中间件的日志时,使用 middleware 标签过滤即可。

- 作者:zouying
- 链接:https://haha.ai/go-clean-code-template
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。