golang

  • 24 6月 2026

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

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

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

rotatefile 日志轮转海报

阅读全文 
  • 22 6月 2026

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

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

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

GCli v3.8 发布海报

阅读全文 
  • 18 6月 2026

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

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

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

miglite 数据库迁移海报

阅读全文 
  • 06 6月 2026

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

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

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

阅读全文 
  • 24 4月 2025

gookit slog release v0.5.8

gookit/slog 一个易于使用的,轻量级、可配置、可扩展的日志库。支持多个级别,输出到多文件;内置文件日志处理、自动切割、清理、压缩等增强功能。

v0.5.8 已正式发布!这一版本中带来了众多改进与修复,进一步提升了开发者的使用体验和日志处理能力。

阅读全文 
  • 24 1月 2024

gookit validate release v1.5.2

gookit/validate Go通用的数据验证与过滤库,使用简单,内置大部分常用验证器、过滤器,支持自定义消息、字段翻译。

阅读全文 
  • 24 1月 2024

gookit/goutil - Go常用功能的扩展工具库,发布 v0.6.15 版本

gookit/goutil 💪 Go 常用功能的扩展工具库。包含:数字,字符串,slice/数组,Map,结构体,反射,文本,文件,错误,时间日期,测试,CLI,命令运行,系统信息,格式化,常用信息获取等等。

本次 v0.6.15 版本主要是一些功能增强和修复更新。

阅读全文 
  • 16 10月 2023

gookit/goutil - Go常用功能的扩展工具库,发布 v0.6.14 版本

gookit/goutil Go 常用功能的扩展工具库。包含:数字,字符串,slice/数组,Map,结构体,反射,文本,文件,错误,时间日期,测试,CLI,命令运行,系统信息,格式化,常用信息获取等等。

阅读全文 
  • 25 7月 2023

gookit/goutil - Go常用功能的扩展工具库,发布 v0.6.12 版本

gookit/goutil Go 常用功能的扩展工具库。包含:数字,字符串,slice/数组,Map,结构体,反射,文本,文件,错误,时间日期,测试,CLI,命令运行,系统信息,格式化,常用信息获取等等。

阅读全文 
  • 28 6月 2023

gookit/goutil - 发布 v0.6.10 版本, Go常用功能的扩展工具库

gookit/goutil Go 常用功能的扩展工具库。包含:数字,字符串,slice/数组,Map,结构体,反射,文本,文件,错误,时间日期,测试,CLI,命令运行,系统信息,格式化,常用信息获取等等。

阅读全文 
  • 19 6月 2023

gookit/slog - 发布 v0.5.2 版本, 易于使用的,可配置、可扩展的Go日志库

gookit/slog 📑 一个易于使用的,轻量级、可配置、可扩展的日志库。支持多个级别,输出到多文件;内置文件日志处理、自动切割、清理、压缩等增强功能

阅读全文 
  • 14 6月 2023

gookit/event - Go实现的轻量级的事件管理、调度程序库

event 事件调度库

gookit/event Go实现的轻量级的事件管理、调度程序库, 支持设置监听器的优先级, 支持使用通配符来进行一组事件的监听。

阅读全文 
  • 31 8月 2022

gookit/config - Go语言读取多种格式配置文件

gookit/config - Go应用配置管理,支持读取多种格式 JSON(默认), JSON5, INI, Properties, YAML, TOML, HCL, ENV, Flags,多文件加载,支持数据合并,解析环境变量名等等

阅读全文 
  • 09 7月 2022

cflag - 包装Go FlagSet构建简单且漂亮的命令行应用程序

cflag - 包装和扩展 Go flag.FlagSet 以构建简单且漂亮的命令行应用程序。

cmd-help

阅读全文 
  • 06 7月 2022

gitw - Git 命令包装器,生成 git 变更记录日志

gitw - Git 命令包装器,生成 git 变更记录日志,获取 repo 信息和一些 git 命令工具。

  • 包装本地 git 命令
  • 快速运行 git 命令
  • 快速查询存储库信息
    • 获取 remote, branch 详细信息
  • 通过 git log 快速生成版本变更日志
    • 允许自定义生成配置
    • 允许自定义生成过滤、样式等
    • 可以直接在 GitHub Actions 中使用
阅读全文 
  • 16 6月 2022

slog - 一个易于使用的,易扩展、可配置的日志库

gookit/slog 📑 一个易于使用的,轻量级、可配置、可扩展的日志库。支持多个级别,输出到多文件;内置文件日志处理、自动切割、清理、压缩等增强功能

image

阅读全文 
  • 10 8月 2018

给http.Handler包装中间件

Golang 下给 http.Handler 包装中间件

阅读全文 
  • 08 8月 2018

Go 捕获 os.Stdout 的输出

Go 里面有时候我们想捕获,或者丢弃通过fmt.Print系列方法打印到Stdout的数据

阅读全文 

    📑 gookit slog

    一个易于使用的,轻量级、可配置、可扩展的日志库。支持多个级别,输出到多文件;内置文件日志处理、自动切割、清理、压缩等增强功能。

    阅读全文 

      gookit

      The non-opinionated Rust-based commit message linter.

      阅读全文 

        📢 gookit event

        Go 实现的轻量级的事件管理、调度程序库, 支持设置监听器的优先级, 支持使用通配符来进行一组事件的监听。

        阅读全文 

          💪 gookit goutil

          Go 常用功能的扩展工具库。包含:数字,字符串,slice/数组,Map,结构体,反射,文本,文件,错误,时间日期,测试,CLI,命令运行,系统信息,格式化,常用信息获取等等。

          阅读全文 

            🎨 gookit color

            Golang下的命令行色彩使用库, 拥有丰富的色彩(16/256/True)渲染输出,通用的API方法,兼容Windows系统

            阅读全文 

              ⚔ gookit validate

              Go通用的数据验证与过滤库,使用简单,内置大部分常用验证器、过滤器,支持自定义消息、字段翻译。

              阅读全文