Kit 是一个功能丰富的 Go 语言工具包集合,旨在提供常用的工具函数和组件,帮助开发者更快速地构建高质量的 Go 应用程序。
分布式唯一 ID 生成器:实现经典 Snowflake 算法,支持多节点高并发、趋势递增 64 位 ID、多种编码格式,适用于数据库主键、分布式事务、消息队列等场景。详细说明 →
字节操作工具:提供安全的随机字节生成功能,基于加密安全的随机数生成器,适用于生成nonce、salt、会话令牌等安全场景。详细说明 →
高性能进程内缓存:基于 ristretto 的缓存实现,支持过期时间设置、泛型接口和自动内存管理。详细说明 →
通用类型转换工具:支持任意类型与基础类型、切片、Map、结构体之间的安全转换,兼容 gconv,提供带错误和无错误两套 API,适用于数据解析、配置加载、接口适配等场景。详细说明 →
高效布隆过滤器:支持分组、可插拔存储、误判率灵活配置,适合缓存预判、唯一性校验等大规模集合判定场景。详细说明 →
Context 扩展工具:提供 WithoutCancel 函数,用于忽略父 context 的取消信号和超时,适用于需要阻断取消的场景。详细说明 →
AES 加密工具:提供 AES-GCM 加密/解密功能,支持多种输入格式(字节数组、字符串、Base64、Hex)和自动随机 nonce 生成。详细说明 →
DES 加密工具:提供 DES-CBC 加密/解密功能,支持 PKCS7 填充和多种输入格式(字节数组、字符串、16 进制字符串)。详细说明 →
MD5 哈希工具:提供便捷的字符串 MD5 哈希计算功能,支持带错误处理和忽略错误的版本,适用于数据校验和缓存键生成。详细说明 →
一次性密码工具:提供基于时间的一次性密码(TOTP)算法实现,支持多种哈希算法、自定义密码长度和生成兼容的验证器 URL。详细说明 →
RSA 加密工具:提供 RSA 加密/解密功能,支持公钥加密/私钥解密和私钥加密/公钥解密(数字签名)操作,以及 PEM 格式密钥处理。详细说明 →
SHA256 哈希工具:提供便捷的字符串 SHA256 哈希计算功能,支持带错误处理和忽略错误的版本,适用于数据完整性校验、签名、区块链等安全场景。详细说明 →
高性能 Redis 客户端:支持原生命令、管道、事务、Lua 脚本、发布订阅、基础 KV 操作等,兼容 go-redis v9。详细说明 →
数据库驱动接口:提供标准的数据库驱动接口定义,支持自定义驱动实现和连接管理。详细说明 →
MySQL 数据库工具:提供 MySQL 数据库连接池管理、查询构建器和事务处理等功能,支持读写分离和连接池配置。详细说明 →
配置解码器:对 Kratos 配置系统的扩展,支持对特定后缀(如 .b64)的配置值进行解码。详细说明 →
中间件集合:提供了验证(validate)和基本认证(basicauth)两个中间件,支持请求验证和 HTTP Basic Authentication。详细说明 →
HTTP 适配器:提供 Kratos HTTP 服务器到 Gin 引擎的转换功能,支持路由和参数转换。详细说明 →
日志抽象接口,提供统一的日志记录标准,支持多种底层实现。详细说明 →
随机数生成工具:提供范围内的随机数生成和中文字符(汉字、姓氏)随机生成功能,支持自定义随机数生成器。详细说明 →
功能丰富的 HTTP 客户端:支持 GET/POST/HEAD/表单/JSON、超时、代理、钩子、慢请求日志、trace、全局方法等。详细说明 →
高性能自定义消息协议与连接封装:支持消息类型注册、心跳包、字符串消息、自动分包、并发安全等,适用于分布式服务、长连接、定制协议等场景。详细说明 →
运行时管理:提供应用程序运行时组件的生命周期管理。详细说明 →
goroutine 管理工具:提供 goroutine ID 获取和高效的协程池实现。支持任务调度、资源管理和性能监控等功能,适用于并发任务处理和性能优化场景。详细说明 →
重试机制工具:提供通用的重试机制,支持带上下文和指数退避的函数重试,适用于网络请求、数据库操作等易失败场景。详细说明 →
测试日志工具:提供带有统一前缀的测试日志输出功能,使测试输出更加清晰易读。详细说明 →
基于 carbon 库的时间处理工具包,提供简单的相对时间获取功能和可配置的时间格式化选项。支持编译时配置时区、格式、语言等参数。详细说明 →
更多模块正在开发中,敬请期待...
我们欢迎任何形式的贡献,包括但不限于:
- 提交问题和建议
- 改进文档
- 提交代码改进
- 分享使用经验
贡献前请阅读我们的 贡献指南。
- Fork 项目
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交改动 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 提交 Pull Request
详见 CHANGELOG.md
常见问题解答请查看 FAQ.md
Copyright © 2025 fsyyft-go
- 提交 Issue: GitHub Issues
- 邮件联系: fsyyft@gmail.com
感谢所有贡献者对本项目的支持!
如果觉得这个项目对你有帮助,欢迎 star ⭐️