Skip to content

fsyyft-go/kit

Repository files navigation

GitHub language count GitHub top language GitHub go.mod Go version Go Doc Go Report Card codecov

GitHub stars GitHub forks GitHub issues GitHub pull requests GitHub contributors GitHub license GitHub release (latest by date) GitHub last commit GitHub repo size GitHub workflow status Go Mod Updates Sourcegraph

Kit - Go 工具包集合

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 库的时间处理工具包,提供简单的相对时间获取功能和可配置的时间格式化选项。支持编译时配置时区、格式、语言等参数。详细说明 →

更多模块正在开发中,敬请期待...

如何贡献

我们欢迎任何形式的贡献,包括但不限于:

  • 提交问题和建议
  • 改进文档
  • 提交代码改进
  • 分享使用经验

贡献前请阅读我们的 贡献指南

开发流程

  1. Fork 项目
  2. 创建特性分支 (git checkout -b feature/AmazingFeature)
  3. 提交改动 (git commit -m 'Add some AmazingFeature')
  4. 推送到分支 (git push origin feature/AmazingFeature)
  5. 提交 Pull Request

更新日志

详见 CHANGELOG.md

常见问题

常见问题解答请查看 FAQ.md

版权声明

Copyright © 2025 fsyyft-go

本项目采用 MIT 许可证。详见 LICENSE 文件。

联系我们

致谢

感谢所有贡献者对本项目的支持!

相关项目


如果觉得这个项目对你有帮助,欢迎 star ⭐️

About

Go 基础类库。

Resources

License

Contributing

Stars

3 stars

Watchers

1 watching

Forks

Packages

 
 
 

Contributors

Languages