Latest posts
rotatefile:给 Go 日志补上文件轮转、压缩和清理
Go 标准库能把日志写到 io.Writer,但不会管文件什么时候切、旧文件留多久、磁盘占用怎么收。项目一旦开始写本地日志,这些问题迟早会冒出来。
github.com/gookit/rotatefile 做的事情很窄:提供一个支持轮转、压缩和清理的 io.Writer。你可以继续用标准库 log/slog、log、zap 或 gookit/slog,只把文件轮转这部分交给它。

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

miglite:用原始 SQL 文件管理数据库迁移
数据库迁移工具有两类。一类想帮你描述表结构,再生成 SQL;另一类只管把你写好的 SQL 按顺序跑完,并记录哪些已经执行过。
github.com/gookit/miglite 选的是后者。它不试图替代 SQL,也不默认拉一堆数据库驱动进来。它做的事情很窄:发现迁移文件、解析 UP/DOWN 区块、在事务里执行 SQL,并把执行状态记到数据库里。

GCli v3.5 发布:自动补全、命令中间件、帮助信息分组、结构体绑定优化等
GCli 是一个用 Go 编写的命令行应用与工具库。本文汇总了从 v3.3.1 到最近发布的 v3.5(包含 v3.4 周期)的主要改动。
这次更新主要集中在开发体验优化和底层健壮性修复上。如果你在用 Go 写 CLI 工具,这次更新里有几个比较实用的功能。
…