.profile/README.md
2026-05-01 13:41:33 +08:00

73 lines
4.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# @go 开发指引 (INDEX)
本项目旨在提供一套极致精简、消除摩擦、安全可靠、高性能的 Go 开发基础设施。
## 模块索引
| 项目 | 版本 | 核心能力 | 依赖 | 详细技术手册 |
| :--- | :--- | :--- | :--- | :--- |
| **go/cast** | v1.0.4 | 基础类型强转; 泛型工具; 序列化 | - | [./cast/README.md](https://apigo.cc/cast) |
| **go/convert** | v1.0.4 | 深度数据映射; 智能类型穿透 | cast | [./convert/README.md](https://apigo.cc/convert) |
| **go/time** | v1.0.4 | 时间解析; DSL 加减计算; 归一化时区 | cast | [./time/README.md](https://apigo.cc/time) |
| **go/rand** | v1.0.4 | 高并发随机; 闭区间生成; 洗牌 | - | [./rand/README.md](https://apigo.cc/rand) |
| **go/encoding** | v1.0.4 | Hex/Base64/Int 编解码 | - | [./encoding/README.md](https://apigo.cc/encoding) |
| **go/safe** | v1.0.3 | 内存保护; 防 Dump; 安全擦除; 混淆 | rand | [./safe/README.md](https://apigo.cc/safe) |
| **go/crypto** | v1.0.3 | 主流算法; 混合加密; 内存防御 | safe, encoding | [./crypto/README.md](https://apigo.cc/crypto) |
| **go/crypto-sm** | v1.0.3 | 国密 (SM2/3/4); 内存安全实现 | crypto, encoding, safe | [./crypto-sm/README.md](https://apigo.cc/crypto-sm) |
| **go/id** | v1.0.3 | 分布式 ID; 数据库优化 | encoding, rand | [./id/README.md](https://apigo.cc/id) |
| **go/file** | v1.0.3 | 高性能 IO; 智能序列化; 内存资源加密 | convert, encoding, safe | [./file/README.md](https://apigo.cc/file) |
---
## API 指南
### 1. cast (类型转换与泛型工具)
- **意图**: 处理类型不确定数据,提供零错误处理、静默失败的转换机制。
- **API**:
- **基础转换**: Int, Int64, Uint, Uint64, Float, Float64, String, Bool, Duration
- **批量转换**: Ints, Strings
- **泛型工具**: If, In, Ptr, ArrayToBoolMap
- **序列化**: ToJSON/MustToJSON, ToJSONBytes/MustJSONBytes, UnmarshalJSON/MustUnmarshalJSON, UnmarshalJSONBytes/MustUnmarshalJSONBytes, ToYAML/MustToYAML, YAMLBytes/MustYAMLBytes, UnmarshalYAML/MustUnmarshalYAML, UnmarshalYAMLBytes/MustUnmarshalYAMLBytes
- **辅助工具**: Split, SplitArgs, UniqueAppend, JoinArgs, RealValue, GetLowerName, GetUpperName, FixUpperCase
### 2. convert (深度映射与平展)
- **意图**: 智能递归对象映射,支持单值/切片穿透Key 大小写模糊匹配。
- **API**:
- **转换入口**: To
- **结构平展**: FlatStruct, FlatStructWithUnexported, FlattenStruct
### 3. time (时区与DSL处理)
- **意图**: 基于 TimeZone 上下文的时区解析、DSL 加减计算、高性能计时与时长格式化。
- **API**:
- **时区上下文**: New, Parse, Format, Add, Now
- **计时工具**: Start, Record, Pause, Resume, Stop, Summarize, Describe
- **时长处理**: DescribeDuration
### 4. rand (高性能并发随机)
- **意图**: 闭区间、高并发场景下的随机数与字节生成。
- **API**: Int, FastInt, Float, FastFloat, Byte, Bytes, Perm, Shuffle
### 5. crypto (通用加解密与Hash)
- **意图**: 混合加密体系,强制执行内存安全与资源闭环。
- **API**: NewSymmetric, NewSymmetricAndEraseKey, NewAESCBC, NewAESGCM, NewAsymmetric, NewRSA, NewECDSA, NewED25519, NewX25519, EncryptBytes, MustEncrypt, DecryptBytes, MustDecrypt, TryDecrypt, Sign, MustSign, Verify, MustVerify, GenerateKeyPair, MD5, Sha256, Sha512, HmacSha256, Pkcs5Padding, AnsiX923Padding
### 6. crypto-sm (国密专项)
- **意图**: 完全对齐 `go/crypto` 接口,覆盖 SM2/3/4 国密标准。
- **API**: NewSM2, NewSM2AndEraseKey, GenerateSM2KeyPair, Sm3, Sm3ToHex, Sm3ToBase64, NewSM4CBC, NewSM4GCM, Encrypt, Decrypt
### 7. encoding (编解码引擎)
- **意图**: 语义明确的编解码工具,支持二进制链路与整数填充编码。
- **API**: Hex, HexToString, MustUnHex, MustUnHexFromString, Base64, Base64ToString, UrlBase64, UrlBase64ToString, MustUnBase64, MustUnUrlBase64, UrlEncode, MustUnUrlEncode, HtmlEscape, MustUnHtmlEscape, Utf8Valid, NewIntEncoder, EncodeInt, AppendInt, DecodeInt, FillInt, ExchangeInt, HashInt
### 8. id (分布式与数据库ID)
- **意图**: 生成唯一标识符,包含针对 MySQL/PostgreSQL 的写入性能优化。
- **API**: NewIdMaker, MakeId, Get, GetForMysql, GetForPostgreSQL
### 9. file (IO 与 内存文件系统)
- **意图**: 高性能磁盘 IO、智能序列化及嵌入式资源管理。
- **API**: Exists, ReadBytes, MustReadBytes, Read, MustRead, ReadLines, WriteBytes, Write, Copy, CopyToFile, Remove, Move, Replace, Search, ReadDir, UnmarshalFile, MarshalFile, MarshalFilePretty, PatchFile, Compress, Decompress, Archive, Extract, AddFileToMemory, SafeLoadFileToMemory, LoadFilesToMemoryFromB64, LoadFilesToMemoryFromJson
### 10. safe (内存安全闭环)
- **意图**: 提供底层内存保护、防核心转储及敏感数据安全擦除。
- **API**: NewSafeBuf, NewSafeBufAndErase, NewSafeString, Open, Close, LockMemory, UnlockMemory, DisableCoreDump, ZeroMemory, MakeSafeToken, EncryptChaCha20, DecryptChaCha20