144 lines
6.7 KiB
Markdown
144 lines
6.7 KiB
Markdown
[English](README.md) | [简体中文](README.zh-CN.md)
|
|
|
|
# @go 开发指引 (INDEX)
|
|
|
|
## 设计哲学与原则
|
|
|
|
本项目致力于构建一套**极致精简、消除摩擦、安全可靠、高性能**的 Go 开发基础设施。我们的核心设计理念包括:
|
|
|
|
* **统一性**: 提供一套标准化的工具集,减少跨库切换的认知负担。
|
|
* **易用性**: 极简 API 设计,降低门槛,加速开发。
|
|
* **可靠与安全**: 预置安全最佳实践(如加密、内存擦除),确保代码稳健。
|
|
* **高性能**: 深度利用 Go 特性,追求卓越的运行效率。
|
|
* **解决痛点**: 专注于消除类型转换、错误处理、服务发现等过程中的摩擦。
|
|
|
|
---
|
|
|
|
## 模块清单与 API 参考
|
|
|
|
详细文档: https://apigo.cc/go/
|
|
|
|
### go/cast v1.3.3
|
|
语义化类型强转与泛型工具。
|
|
- **API**: `To`, `Convert`, `As`, `ToMap`, `ToSlice`, `FillMap`, `FillSlice`, `ToJSON`, `FromJSON`, `UnmarshalJSON`, `ParseTime`, `FormatTime`, `Int`, `String`, `Bool`, `Duration`, `RealValue`, `GetLowerName`, `GetUpperName`, `FixUpperCase`
|
|
|
|
### go/rand v1.3.1
|
|
高并发场景下的随机数与字节生成。
|
|
- **API**: `Int`, `FastInt`, `Float`, `FastFloat`, `Byte`, `Bytes`, `Perm`, `Shuffle`
|
|
|
|
### go/timer v1.3.1
|
|
高性能时间流管控与退避重试。
|
|
- **API**: `Retry`, `Start`, `WithBackoff`, `WithMaxRetries`, `NewDebouncer`, `NewThrottler`, `NewTimeWheel`, `RunTimeout`, `Tracker`
|
|
|
|
### go/task v1.3.2
|
|
轻量级任务调度与生命周期管理。
|
|
- **API**: `Add`, `Start`, `Stop`, `Get`, `List`, `Remove`, `Run`, `WithPolicy`, `WithTimeout`
|
|
|
|
### go/safe v1.3.1
|
|
内存保护、安全擦除与防核心转储。
|
|
- **API**: `NewSafeBuf`, `NewSafeString`, `LockMemory`, `UnlockMemory`, `DisableCoreDump`, `ZeroMemory`, `EncryptChaCha20`, `DecryptChaCha20`, `MakeSafeToken`, `Concat`, `Base64`, `Hex`, `UrlEncode`
|
|
|
|
### go/encoding v1.3.1
|
|
标准及整数填充编解码。
|
|
- **API**: `Hex`, `HexToString`, `Base64`, `Base64ToString`, `UrlBase64`, `UrlEncode`, `HtmlEscape`, `HtmlUnescape`, `Utf8Valid`, `NewIntEncoder`, `EncodeInt`, `AppendInt`, `DecodeInt`, `ExchangeInt`, `FillInt`, `HashInt`, `SortJoin`
|
|
|
|
### go/crypto v1.3.1
|
|
主流加解密算法与混合加密体系。
|
|
- **API**: `NewAESGCM`, `NewRSA`, `NewECDSA`, `NewED25519`, `NewX25519`, `EncryptBytes`, `DecryptBytes`, `Sign`, `Verify`, `MD5`, `Sha1`, `Sha256`, `Sha512`, `HmacSha256`
|
|
|
|
### go/crypto-sm v1.3.1
|
|
国密 (SM2/3/4) 标准实现。
|
|
- **API**: `NewSM2`, `Sm3`, `Sm3ToHex`, `Sm3ToBase64`, `Sm3ToUrlBase64`, `NewSM4CBC`, `NewSM4GCM`, `Encrypt`, `Decrypt`
|
|
|
|
### go/id v1.3.1
|
|
分布式与数据库性能优化的 ID 生成。
|
|
- **API**: `NewIDMaker`, `Get8Bytes4KPerSecond`, `Get9Bytes90KPerSecond`, `Get10Bytes14MPerSecond`, `Get11Bytes900MPerSecond`, `Get12BytesUltraPerSecond`, `GetForMysql`
|
|
|
|
### go/file v1.3.2
|
|
高性能磁盘 IO 与嵌入式内存文件。
|
|
- **API**: `Exists`, `EnsureParentDir`, `Read`, `ReadBytes`, `Write`, `WriteBytes`, `Copy`, `Move`, `Remove`, `Mkdir`, `Search`, `UnmarshalFile`, `MarshalFile`, `PatchFile`, `Archive`, `Compress`, `LoadFileToMemory`
|
|
|
|
### go/shell v1.3.1
|
|
终端样式美化与命令链管道执行。
|
|
- **API**: `Run`, `RunCommand`, `InteractiveRun`, `Pipeline`, `PipelineCommands`, `Style`, `StripANSI`, `Red`, `Green`, `Blue`, `Yellow`
|
|
|
|
### go/config v1.3.1
|
|
支持环境变量覆盖的配置文件加载。
|
|
- **API**: `Load`, `To`
|
|
|
|
### go/log v1.3.4
|
|
高性能 Meta 驱动的异步脱敏日志。
|
|
- **API**: `Debug`, `Info`, `Warning`, `Error`, `As`, `New`, `SetDefaultName`, `Viewable`, `GetEntry`, `PutEntry`
|
|
|
|
### go/http v1.3.2
|
|
极致精简的高性能 HTTP 客户端。
|
|
- **API**: `NewClient`, `NewClientH2C`, `Get`, `Post`, `Put`, `Delete`, `Do`, `Result`, `To`, `Multipart`
|
|
|
|
### go/redis v1.3.2
|
|
集成 Pub/Sub 的高性能 Redis 客户端。
|
|
- **API**: `GetRedis`, `NewRedis`, `Do`, `Subscribe`, `PUBLISH`, `NewIDMaker`
|
|
|
|
### go/db v1.3.4
|
|
意图优先的极简数据库抽象层,支持影子删除与自动版本。
|
|
- **API**: `GetDB`, `Sync`, `To`, `ToSlice`, `Insert`, `Replace`, `Update`, `Delete`, `Query`, `Exec`, `Begin`
|
|
|
|
### go/discover v1.3.2
|
|
极简的服务发现与负载均衡调用。
|
|
- **API**: `New`, `Start`, `Open`, `NewCaller`, `Get`, `Post`, `SetLoadBalancer`, `SetRoute`
|
|
|
|
### go/service v1.3.4
|
|
核心微服务框架,支持自动注入与路由映射。
|
|
- **API**: `Start`, `AsyncStart`, `Host`, `Register`, `Restful`, `RegisterWebsocket`, `Static`, `Proxy`, `VerifyStruct`, `GetInjectT`
|
|
|
|
### go/watch v1.3.2
|
|
高性能、AI 友好的文件变动监听。
|
|
- **API**: `Start`, `EasyStart`, `Watcher`
|
|
|
|
### go/keys v1.3.2
|
|
密钥管理与跨语言加固加密工具。
|
|
- **CLI 命令**: `keys keystore list/create/export`, `keys password list/create/encrypt/decrypt`
|
|
|
|
### go/starter v1.0.5
|
|
服务生命周期与后台运行管控。
|
|
- **API**: `Register`, `Run`, `SetAppInfo`, `SetInfo`, `SetUsage`, `AddCmd`, `AddCommand`
|
|
|
|
### go/sandbox v1.0.6
|
|
跨平台隔离与运行时环境管理器。
|
|
- **API**: `Start`, `Restore`, `Query`, `Fetch`, `SetRoot`, `NewService`, `DefaultService`, `Sandbox.Status`, `Sandbox.Wait`, `Sandbox.Kill`, `Sandbox.Cleanup`
|
|
|
|
### go/api v1.3.2
|
|
第三方 API 调度引擎,消除 SDK 摩擦。
|
|
- **API**: `Call[T]`, `Load`, `RegisterSigner`, `GetSigner`, `Action`
|
|
|
|
### go/mail v1.0.3
|
|
极致精简的高性能邮件客户端。
|
|
- **API**: `Send`, `MustSend`, `Recv`, `MustRecv`, `New`, `MustNew`, `NewWithConfig`, `GetMailbox`, `ParseAddr`, `FormatAddr`
|
|
|
|
### go/document v1.0.8
|
|
极简、高效的 Office 文档桥梁,支持 Excel/Word/PPT/PDF/Graph/CSV/MD 与 JSON/Markdown 互转。
|
|
- **API**: `Open`, `Create`, `Save`, `ToJSON`, `ToMarkdown`
|
|
|
|
### go/vision v1.0.8
|
|
高性能图像处理、验证码、二维码与感知哈希工具。
|
|
- **API**: `Load`, `Save`, `Convert`, `New`, `ParseColor`, `RandColor`, `Capture`, `Recognize`, `NewAnimation`
|
|
|
|
### go/knowbase v1.0.5
|
|
AI 知识库引擎,支持混合检索与身份驱动 API。
|
|
- **API**: `Auth`, `App.Doc`, `App.Table`, `App.Search`, `App.Query`, `Table.List`, `Table.Set`, `Table.Fields`, `DocStore.Get`, `DocStore.Set`, `DocStore.GetSections`
|
|
|
|
### go/indexDB v1.1.2
|
|
统一混合检索引擎,支持全文 + 向量及 RRF 融合。
|
|
- **API**: `GetDB`, `Auth`, `Add`, `Remove`, `Search`, `ScanDocuments`
|
|
|
|
### go/gateway v2.0.1
|
|
高性能、事件驱动的动态 API 网关。
|
|
- **API**: `NewGatewayApp`, `GatewayApp.Start`, `GatewayApp.Stop`, `GatewayApp.Reload`, `GatewayApp.Status`
|
|
|
|
### go/docDB v1.0.10
|
|
独立的高级文档存储引擎,支持版本管理与生命周期钩子。
|
|
- **API**: `GetDB`, `Auth`, `SetDoc`, `SetMeta`, `Move`, `Get`, `GetByVersion`, `Remove`, `ExtractToC`
|
|
|
|
### go/tableDB v1.1.9
|
|
建立在 go/db 基础上的更高层抽象工具库,提供动态表、权限隔离和生命周期追踪。
|
|
- **API**: `GetDB`, `Auth`, `Tables`, `SetTable`, `Table`, `Set`, `Get`, `List`, `Query`, `Count`, `Remove`
|