@go 开发指引 (INDEX)

本项目旨在提供一套极致精简、消除摩擦、安全可靠、高性能的 Go 开发基础设施。

模块索引

项目 版本 核心能力 依赖 详细技术手册
go/cast v1.0.4 基础类型强转; 泛型工具; 序列化 - ./cast/README.md
go/convert v1.0.4 深度数据映射; 智能类型穿透 cast ./convert/README.md
go/time v1.0.4 时间解析; DSL 加减计算; 归一化时区 cast ./time/README.md
go/rand v1.0.4 高并发随机; 闭区间生成; 洗牌 - ./rand/README.md
go/encoding v1.0.4 Hex/Base64/Int 编解码 - ./encoding/README.md
go/safe v1.0.4 内存保护; 防 Dump; 安全擦除; 混淆 rand ./safe/README.md
go/crypto v1.0.4 主流算法; 混合加密; 内存防御 safe, encoding ./crypto/README.md
go/crypto-sm v1.0.4 国密 (SM2/3/4); 内存安全实现 crypto, encoding, safe ./crypto-sm/README.md
go/id v1.0.4 分布式 ID; 数据库优化 encoding, rand ./id/README.md
go/file v1.0.4 高性能 IO; 智能序列化; 内存资源加密 convert, encoding, safe ./file/README.md

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
Description
AI友好的Go语言开发框架
Readme 193 KiB