-
Go compress/flate 的 Writer.Reset 可以在保留压缩级别和字典配置的前提下切换新的输出目标,适合批量处理多个独立数据块。本文说明 Close、Reset、错误处理和并发所有权的正确顺序。
-
Go hash/crc32 的 IEEE 与 Castagnoli 不是可以随意互换的参数。本文用 MakeTable、Checksum、New 和 Update 说明如何按协议兼容性选择多项式,并划清 CRC32 与加密摘要的边界。
-
Go log/slog 的 GroupValue 可以把多个 Attr 组成一个 Group,再配合 slog.Group 形成 request、user、deployment 等嵌套字段。本文说明空组消除、切片不可变和不同 Handler 输出时的组织方式。
-
Go CSV读取启用ReuseRecord时,返回切片可能共享底层数组。结合同步消费、缓存快照和异步交接,说明低分配读取的适用方式、错误处理与内存保留取舍。
-
Go 的 net/url.JoinPath 适合把基础 URL 与多个路径片段组合起来,并清理重复斜杠和相对片段。本文说明包级函数、URL.JoinPath、PathEscape、查询参数保留以及与 ResolveReference 的边界。
-
用 Go 1.25 的 os.Root.RemoveAll 在固定根目录内递归清理子目录,掌握路径校验、错误分层、Root 关闭和版本平台边界。
-
Go 解析 Set-Cookie 后,完整输入行会保存在 http.Cookie.Raw;本文说明怎样从 Response.Cookies 或响应头逐条读取它,并区分 Raw、Unparsed、RawExpires 与 String() 的重建结果。
-
Go net/http Request.Clone 会复制 URL、Header、Trailer、表单等请求字段并替换 context,但 Request.Body 仍是浅复制。本文用客户端请求示例说明 Clone、WithContext、Body 和 GetBody 的边界,避免复制请求时误读或重复消费请求体。
-
Go 读取 ShiftJIS 日文 CSV,可先用 x/text 解码为 UTF-8,再交给 csv.Reader 逐条解析。本文给出文件导入函数,说明列数、替换字符和错误处理边界。
-
从 DWARF 条目的 AttrType 偏移调用 Go debug/dwarf Data.Type,读取 dwarf.Type 的通用描述,并按结构体、指针和类型别名读取具体字段。
-
用 golang.org/x/image/riff 解析 WAVE 时,先判断 formType,再按 ChunkID/FourCC 筛选 fmt 和 data 块,并正确处理 chunkLen、chunkData 生命周期与未知块。
-
Go inspector.WithStack 会把当前 AST 遍历路径以 []ast.Node 传入回调,本文用一个完整示例说明 stack 的顺序、push/pop 语义、剪枝方式,以及为什么保存祖先链时要复制切片。
-
Go buildutil.ExpandPatterns 根据构建上下文展开包路径模式。本文给出集合转有序清单的写法,说明包含与排除的顺序、工作区范围,以及它与模块加载和构建验证的区别。
-
Go 的 norm.Properties(...).BoundaryBefore() 用来判断当前 rune 是否开启新的规范化片段。本文从单点判断讲到 NextBoundaryInString,说明如何在 UTF-8 分块输入中找到不会切断组合标记的安全位置。
-
Go x/text/width 的 Widen 会把存在宽体变体的字符映射为宽字符,适合全角化处理。本文给出字符串与流式 Reader 两种写法,并说明未映射字符、Unicode 宽度类别和数据存储边界。