Help us shape the future of Go! Take the 2026 Go Developer Survey

pkg

module
v0.1.1 Latest Latest
Warning

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

Go to latest
Published: Oct 15, 2026 License: MIT

README

pkg

oekit 微工具集——16 个零依赖(或近零依赖)的基础工具包,合为一个 module 按需 import。

errors · validator · stringx · slicex · enumx · convert · encoding · jsonrepair · httpjson · mathx · pathx · pagination · ptrx · timex · uidgen · cache

安装

go get github.com/oekit/pkg@latest
import (
    "github.com/oekit/pkg/errors"
    "github.com/oekit/pkg/stringx"
)

Go 按包编译:import 一个子包不会引入其他子包的代码;module require 只有一条。

包清单

包 说明 三方依赖
errors Wrap/Cause 链、BizError(业务码/HTTP 码双轨)、sentinel —
validator go-playground 封装,ValidationError→BizError(400) validator/v10
stringx ID 生成、关键词匹配、缩进、复数化、模板替换 —
slicex Partition 二分组、GroupBy —
enumx 确定性顺序 All/Values —
convert 字符串/数字/布尔/切片宽容转换 —
encoding JSON/msgpack 序列化助手 msgpack
jsonrepair 宽容修复链(永不失败,回退原文) —
httpjson DoJSON 带重试语义与 Retry-After —
mathx 安全随机、评测统计 —
pathx glob 匹配(vendor/**) —
pagination PageRequest/PageResponse —
ptrx To/From/安全解引用 —
timex(+cron) 时间格式化/解析 + cron 表达式 —
uidgen UUID/雪花/随机串 uuid
cache 刷新检查器(TTL/failTTL/inflight 合并) —

内部互引仅两条:validator → errors、httpjson → stringx,其余全部只依赖标准库。

历史

原为 16 个独立微库(oekit/errors、oekit/stringx…),2026-10 合并为本 module—— 旧仓已归档并重定向;import 路径迁移:github.com/oekit/<pkg> → github.com/oekit/pkg/<pkg>。

License

MIT — 见 LICENSE

Directories

Path Synopsis
Package cache 进程内检查缓存原语(stdlib-only):TTL 缓存 + 刷新进行中 并发合并(inflight singleflight)+ 失败短 TTL。
Package cache 进程内检查缓存原语(stdlib-only):TTL 缓存 + 刷新进行中 并发合并(inflight singleflight)+ 失败短 TTL。
Package convert 提供常用类型转换工具函数。
Package convert 提供常用类型转换工具函数。
Package encoding 提供常用的编码和哈希工具函数。
Package encoding 提供常用的编码和哈希工具函数。
Package enumx 提供枚举管理能力。
Package enumx 提供枚举管理能力。
Package errors 提供线程安全的多错误聚合。
Package errors 提供线程安全的多错误聚合。
Package httpjson stdlib-only 的 HTTP+JSON 调用纪律单源:ctx 感知构造请求 → 执行 → 限容读体(读错误不吞)→ 状态码检查(错误体 rune 安全截断,不腰斩 UTF-8)→ JSON 解码,外加可选的指数退避重试与服务端 Retry-After 建议捕获。
Package httpjson stdlib-only 的 HTTP+JSON 调用纪律单源:ctx 感知构造请求 → 执行 → 限容读体(读错误不吞)→ 状态码检查(错误体 rune 安全截断,不腰斩 UTF-8)→ JSON 解码,外加可选的指数退避重试与服务端 Retry-After 建议捕获。
Package jsonrepair LLM 输出宽容 JSON 修复骨架:栅栏剥离 → 散文抽对象 → 语法级修复 → 标量归一。
Package jsonrepair LLM 输出宽容 JSON 修复骨架:栅栏剥离 → 散文抽对象 → 语法级修复 → 标量归一。
Package mathx 提供常用的数学工具函数。
Package mathx 提供常用的数学工具函数。
Package pagination 提供框架无关的分页参数定义。
Package pagination 提供框架无关的分页参数定义。
Package pathx 提供文件路径匹配工具。
Package pathx 提供文件路径匹配工具。
Package ptrx 提供指针相关的泛型工具函数。
Package ptrx 提供指针相关的泛型工具函数。
Package slicex 提供泛型 Slice 工具函数。
Package slicex 提供泛型 Slice 工具函数。
Package stringx 提供常用的字符串操作工具函数。
Package stringx 提供常用的字符串操作工具函数。
Package timex 提供常用的时间操作工具函数。
Package timex 提供常用的时间操作工具函数。
cron
Package cron 提供 Cron 表达式解析和调度功能。
Package cron 提供 Cron 表达式解析和调度功能。
Package uidgen 提供分布式唯一 ID 生成器.
Package uidgen 提供分布式唯一 ID 生成器.
Package validator 提供统一的参数验证能力。
Package validator 提供统一的参数验证能力。

Jump to

Keyboard shortcuts

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