kit

module
v0.0.14 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 7, 2025 License: MIT

README

GitHub language count GitHub top language GitHub go.mod Go version Go Doc Go Report Card 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 应用程序。

模块列表

algorithms
algorithms/snowflake

分布式唯一 ID 生成器:实现经典 Snowflake 算法,支持多节点高并发、趋势递增 64 位 ID、多种编码格式,适用于数据库主键、分布式事务、消息队列等场景。详细说明 →

bytes

字节操作工具:提供安全的随机字节生成功能,基于加密安全的随机数生成器,适用于生成nonce、salt、会话令牌等安全场景。详细说明 →

cache

高性能进程内缓存:基于 ristretto 的缓存实现,支持过期时间设置、泛型接口和自动内存管理。详细说明 →

convert

通用类型转换工具:支持任意类型与基础类型、切片、Map、结构体之间的安全转换,兼容 gconv,提供带错误和无错误两套 API,适用于数据解析、配置加载、接口适配等场景。详细说明 →

container
container/bloom

高效布隆过滤器:支持分组、可插拔存储、误判率灵活配置,适合缓存预判、唯一性校验等大规模集合判定场景。详细说明 →

crypto
crypto/aes

AES 加密工具:提供 AES-GCM 加密/解密功能,支持多种输入格式(字节数组、字符串、Base64、Hex)和自动随机 nonce 生成。详细说明 →

crypto/des

DES 加密工具:提供 DES-CBC 加密/解密功能,支持 PKCS7 填充和多种输入格式(字节数组、字符串、16 进制字符串)。详细说明 →

crypto/md5

MD5 哈希工具:提供便捷的字符串 MD5 哈希计算功能,支持带错误处理和忽略错误的版本,适用于数据校验和缓存键生成。详细说明 →

crypto/otp

一次性密码工具:提供基于时间的一次性密码(TOTP)算法实现,支持多种哈希算法、自定义密码长度和生成兼容的验证器 URL。详细说明 →

crypto/rsa

RSA 加密工具:提供 RSA 加密/解密功能,支持公钥加密/私钥解密和私钥加密/公钥解密(数字签名)操作,以及 PEM 格式密钥处理。详细说明 →

crypto/sha

SHA256 哈希工具:提供便捷的字符串 SHA256 哈希计算功能,支持带错误处理和忽略错误的版本,适用于数据完整性校验、签名、区块链等安全场景。详细说明 →

database
database/redis

高性能 Redis 客户端:支持原生命令、管道、事务、Lua 脚本、发布订阅、基础 KV 操作等,兼容 go-redis v9。详细说明 →

database/sql

数据库驱动接口:提供标准的数据库驱动接口定义,支持自定义驱动实现和连接管理。详细说明 →

MySQL 数据库工具:提供 MySQL 数据库连接池管理、查询构建器和事务处理等功能,支持读写分离和连接池配置。详细说明 →

kratos
kratos/config

配置解码器:对 Kratos 配置系统的扩展,支持对特定后缀(如 .b64)的配置值进行解码。详细说明 →

kratos/middleware

中间件集合:提供了验证(validate)和基本认证(basicauth)两个中间件,支持请求验证和 HTTP Basic Authentication。详细说明 →

kratos/transport/http

HTTP 适配器:提供 Kratos HTTP 服务器到 Gin 引擎的转换功能,支持路由和参数转换。详细说明 →

log

日志抽象接口,提供统一的日志记录标准,支持多种底层实现。详细说明 →

math
math/rand

随机数生成工具:提供范围内的随机数生成和中文字符(汉字、姓氏)随机生成功能,支持自定义随机数生成器。详细说明 →

net
net/http

功能丰富的 HTTP 客户端:支持 GET/POST/HEAD/表单/JSON、超时、代理、钩子、慢请求日志、trace、全局方法等。详细说明 →

net/message

高性能自定义消息协议与连接封装:支持消息类型注册、心跳包、字符串消息、自动分包、并发安全等,适用于分布式服务、长连接、定制协议等场景。详细说明 →

runtime

运行时管理:提供应用程序运行时组件的生命周期管理。详细说明 →

runtime/goroutine

goroutine 管理工具:提供 goroutine ID 获取和高效的协程池实现。支持任务调度、资源管理和性能监控等功能,适用于并发任务处理和性能优化场景。详细说明 →

runtime/retry

重试机制工具:提供通用的重试机制,支持带上下文和指数退避的函数重试,适用于网络请求、数据库操作等易失败场景。详细说明 →

testing

测试日志工具:提供带有统一前缀的测试日志输出功能,使测试输出更加清晰易读。详细说明 →

time

基于 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 ⭐️

Directories

Path Synopsis
algorithms
snowflake
本文件实现了 Snowflake 算法,用于生成分布式唯一 ID。
本文件实现了 Snowflake 算法,用于生成分布式唯一 ID。
Package bytes 提供了字节操作相关的工具函数,包括随机字节生成、字节序列处理等功能。
Package bytes 提供了字节操作相关的工具函数,包括随机字节生成、字节序列处理等功能。
Package cache 提供了一个统一的缓存接口和多种缓存实现。
Package cache 提供了一个统一的缓存接口和多种缓存实现。
Package config 提供了应用程序的配置管理功能,特别是版本信息的管理和展示。
Package config 提供了应用程序的配置管理功能,特别是版本信息的管理和展示。
container
bloom
Package bloom 提供了布隆过滤器的接口定义和实现。
Package bloom 提供了布隆过滤器的接口定义和实现。
Package crypto 提供了一系列加密和哈希算法的实现,包括对称加密、非对称加密、哈希函数和一次性密码等功能。
Package crypto 提供了一系列加密和哈希算法的实现,包括对称加密、非对称加密、哈希函数和一次性密码等功能。
aes
Package aes 提供了 AES 加密算法的实现,特别是 GCM 模式的加密和解密功能。
Package aes 提供了 AES 加密算法的实现,特别是 GCM 模式的加密和解密功能。
des
Package des 提供了 DES(Data Encryption Standard)加密算法的实现,包括标准 DES 和三重 DES(3DES)加密。
Package des 提供了 DES(Data Encryption Standard)加密算法的实现,包括标准 DES 和三重 DES(3DES)加密。
md5
Package md5 提供了 MD5 消息摘要算法的实现,用于生成数据的固定长度哈希值。
Package md5 提供了 MD5 消息摘要算法的实现,用于生成数据的固定长度哈希值。
otp
Package otp 提供了一次性密码(One-Time Password)的实现,支持 HOTP(HMAC-based OTP)和 TOTP(Time-based OTP)。
Package otp 提供了一次性密码(One-Time Password)的实现,支持 HOTP(HMAC-based OTP)和 TOTP(Time-based OTP)。
rsa
Package rsa 提供了 RSA 加密算法的实现,支持公钥加密、私钥解密以及数字签名功能。
Package rsa 提供了 RSA 加密算法的实现,支持公钥加密、私钥解密以及数字签名功能。
sha
database
redis
Package redis 提供了 Redis 客户端的基础类型和命令定义。
Package redis 提供了 Redis 客户端的基础类型和命令定义。
example
cache command
config/version command
database/sql/gorm command
Package main 演示了如何使用 gorm 进行基本的数据库操作,包括连接配置、表结构定义和基本的 CRUD 操作。
Package main 演示了如何使用 gorm 进行基本的数据库操作,包括连接配置、表结构定义和基本的 CRUD 操作。
database/sql/mysql command
Package main 演示了如何使用 fsyyft-go/kit 包中的 MySQL 数据库连接功能。
Package main 演示了如何使用 fsyyft-go/kit 包中的 MySQL 数据库连接功能。
kratos/config command
package main 是配置示例程序的入口包。
package main 是配置示例程序的入口包。
kratos/config/cmd
Package cmd 实现了配置工具的命令行功能。
Package cmd 实现了配置工具的命令行功能。
log command
net/message command
go
build
Package build 提供了用于获取和管理 Go 程序构建环境信息的工具。
Package build 提供了用于获取和管理 Go 程序构建环境信息的工具。
Package kratos 提供了对 go-kratos 框架的扩展和增强功能,包括配置解析、中间件和传输层的增强实现。
Package kratos 提供了对 go-kratos 框架的扩展和增强功能,包括配置解析、中间件和传输层的增强实现。
config
Package config 提供了一个灵活的配置解码器,用于处理 Kratos 框架中的配置管理。
Package config 提供了一个灵活的配置解码器,用于处理 Kratos 框架中的配置管理。
middleware
Package middleware 提供了一组用于 Kratos HTTP 服务的中间件,包括基本认证和请求验证等功能。
Package middleware 提供了一组用于 Kratos HTTP 服务的中间件,包括基本认证和请求验证等功能。
middleware/basicauth
package basicauth 实现 HTTP 基本认证中间件,用于保护 API 接口。
package basicauth 实现 HTTP 基本认证中间件,用于保护 API 接口。
middleware/validate
package validate 提供了请求验证的中间件功能,用于在处理请求前验证请求的合法性。
package validate 提供了请求验证的中间件功能,用于在处理请求前验证请求的合法性。
transport
Package transport 提供了 Kratos 框架的传输层实现,主要集成了 Gin 框架的 HTTP 服务功能。
Package transport 提供了 Kratos 框架的传输层实现,主要集成了 Gin 框架的 HTTP 服务功能。
transport/http
Package http 提供了基于 Gin 框架的 HTTP 服务实现,用于 Kratos 框架的传输层。
Package http 提供了基于 Gin 框架的 HTTP 服务实现,用于 Kratos 框架的传输层。
Package log 提供了一个统一的日志接口和多种日志实现。
Package log 提供了一个统一的日志接口和多种日志实现。
math
rand
Package rand 提供了一系列随机数生成的工具函数,包括数值范围随机和中文字符随机生成。
Package rand 提供了一系列随机数生成的工具函数,包括数值范围随机和中文字符随机生成。
net
声明 net 包,提供与网络相关的工具函数。
声明 net 包,提供与网络相关的工具函数。
Package runtime 提供了运行时工具函数和协程管理功能。
Package runtime 提供了运行时工具函数和协程管理功能。
goroutine
Package goroutine 提供了用于获取和操作 Go 协程相关信息的工具函数。
Package goroutine 提供了用于获取和操作 Go 协程相关信息的工具函数。
retry
本包提供了通用的重试机制,支持带上下文和不带上下文的函数重试。
本包提供了通用的重试机制,支持带上下文和不带上下文的函数重试。
Package testing 提供了一组用于测试时输出日志的辅助函数。
Package testing 提供了一组用于测试时输出日志的辅助函数。
text
Package time 提供了基于 carbon 库的时间处理工具包,支持丰富的时间操作和格式化功能。
Package time 提供了基于 carbon 库的时间处理工具包,支持丰富的时间操作和格式化功能。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL