📖 Blog

  • 24 六月 2026

rotatefile:给 Go 日志补上文件轮转、压缩和清理

Go 标准库能把日志写到 io.Writer,但不会管文件什么时候切、旧文件留多久、磁盘占用怎么收。项目一旦开始写本地日志,这些问题迟早会冒出来。

github.com/gookit/rotatefile 做的事情很窄:提供一个支持轮转、压缩和清理的 io.Writer。你可以继续用标准库 log/slog、log、zap 或 gookit/slog,只把文件轮转这部分交给它。

rotatefile 日志轮转海报

…
阅读全文 →
  • 22 六月 2026

GCli v3.8:共享选项、文档生成和参数重排

GCli v3.8 这一轮补的不是花哨功能,而是写复杂 CLI 时经常会撞到的几个缺口:参数可以写在位置参数后面,结构体绑定支持更多 Go 类型,父命令可以定义会被子命令继承的共享选项,还能直接生成 markdown 和 man 文档。

如果你的 CLI 已经有多级命令、共享配置和文档生成需求,这版会少写不少胶水代码。

GCli v3.8 发布海报

…
阅读全文 →
  • 18 六月 2026

miglite:用原始 SQL 文件管理数据库迁移

数据库迁移工具有两类。一类想帮你描述表结构,再生成 SQL;另一类只管把你写好的 SQL 按顺序跑完,并记录哪些已经执行过。

github.com/gookit/miglite 选的是后者。它不试图替代 SQL,也不默认拉一堆数据库驱动进来。它做的事情很窄:发现迁移文件、解析 UP/DOWN 区块、在事务里执行 SQL,并把执行状态记到数据库里。

miglite 数据库迁移海报

…
阅读全文 →
  • 06 六月 2026

GCli v3.5 发布:自动补全、命令中间件、帮助信息分组、结构体绑定优化等

GCli 是一个用 Go 编写的命令行应用与工具库。本文汇总了从 v3.3.1 到最近发布的 v3.5(包含 v3.4 周期)的主要改动。

这次更新主要集中在开发体验优化和底层健壮性修复上。如果你在用 Go 写 CLI 工具,这次更新里有几个比较实用的功能。

…
阅读全文 →
  • 11 十二月 2025

博客构建从 Docusaurus 迁移到 Zola

之前使用 Docusaurus 构建博客,现在想迁移到 Zola。

Zola 是一个rust编写的静态站点生成器,它使用 Markdown 文件来生成静态网站。它的配置文件是 config.toml,你可以在其中配置网站的标题、描述、导航栏、侧边栏等。

…
阅读全文 →
  • 20 十一月 2025

gookit/goutil v0.7.2 发布:增强功能与修复,提升开发体验

gookit/goutil v0.7.2 现已发布!此版本带来了多项新功能、优化和问题修复,进一步增强了这个 Go 语言实用工具库的稳定性和易用性。 本次更新涉及多个模块,包括数学工具、字符串处理、文件系统操作、命令行标志处理等,旨在为开发者提供更丰富、更高效的工具集。

…
阅读全文 →