-
Go crypto/sha512.New512_256 返回 SHA-512/256 的 hash.Hash,最终得到固定 32 字节摘要。本文用分段写入、Sum 和 Reset 说明如何生成并表示结果,并比较一次性 Sum512_256 的适用场景。
-
Go unicode/utf8.RuneStart 只能判断单个字节是否可能是 UTF-8 编码的首字节,不能代替完整校验。本文用分块扫描、DecodeRune 和 Valid 的组合说明 ASCII、续字节、非法字节与不完整尾部的处理边界。
-
Go的字符串可包含任意字节,UTF-8入口应先限制大小并取得完整文本,再用unicode/utf8.Valid拒绝无效输入。本文给出纯文本Handler与字节偏移诊断示例,说明分块读取、合法替代字符及有损修复的边界。
-
Go strings.Clone 会为非空字符串创建新的数据副本,适合长期保存小片段、避免继续保留大输入的场景;本文说明它的使用边界、空字符串行为、版本要求和 profiling 取舍。
-
Go 处理国际化文本时,unicode.IsNumber 可以按 rune 判断 Unicode Number 类字符。本文说明它与 unicode.IsDigit、ASCII 字节判断的区别,以及如何在遍历、索引和过滤场景中选择正确方法。
-
用 bytes.Buffer 的写入、读取、Grow 和 Reset 场景区分 Cap 的底层总容量与 Len 的当前未读长度,说明预分配、复用和内存排查时各自应该看什么。
-
围绕 encoding/binary.ByteOrder.Uint64 讲清固定 8 字节 uint64 的读取方式、BigEndian 与 LittleEndian 选择、NativeEndian 边界,以及连续记录和短输入的安全处理。
-
Go bufio.Writer 会先缓存写入数据,尾部缺失时应按 Write 返回值、Buffered、Flush 错误和底层持久化语义逐层排查。本文给出文件输出、defer 收尾和可注入错误 Writer 的原创示例。
-
Go structs.HostLayout 用于标记结构体采用主机内存布局,通常遵循主机 C ABI。本文说明标记位置、unsafe 布局检查方法,以及嵌套结构体、packed struct、位域和 cgo 互操作的边界。
-
Go bufio.Scanner 默认按行切分,但日志块、消息片段或自定义文本记录往往需要自己的分隔符。本文从 SplitFunc 的返回值契约出发,给出处理半条记录、EOF、空记录、超长 token 和扫描错误的完整写法。
-
hash/maphash 没有 MakeHash,正确入口是 MakeSeed。本文区分 Seed、Hash 和 SetSeed,说明 String、Bytes 的选择、并发复用边界,以及为什么 Seed 不能跨进程持久化或用于密码学哈希。
-
Go 的 go tool covdata merge 可以把多个 GOCOVERDIR 目录中的原生覆盖率数据合并到一个输出目录。本文说明输入目录、-i/-o 参数、合并后报告生成,以及元数据不一致时的排查边界。
-
Go net/url.JoinPath 会合并并清理 URL 路径,但路径段应先用 PathEscape 处理。本文说明特殊字符、斜杠、点段、查询参数和 ResolveReference 的边界。
-
Go encoding/binary.AppendByteOrder 提供了把整数追加到已有字节切片的接口。本文用 BigEndian、LittleEndian 和 NativeEndian 对比说明字段追加、缓冲区复用与跨平台协议的选择边界。
-
处理代理地址、连接地址或地址键时,IPv4 与 IPv4-mapped IPv6 可能代表同一主机。本文用 net/netip.Addr.Unmap 说明如何识别映射地址、统一表示,并避开 Is4、BitLen 和 As4 的边界误用。