-
Go 测试需要临时文件时,t.TempDir 可以创建测试专属目录,并在测试及其子测试结束后自动清理。本文说明目录生命周期、多次调用、并行子测试和 GOTMPDIR 的使用边界。
-
atomic.Pointer 可以发布完整的不可变配置快照,但不会保护指针指向的 map 或字段。本文用独立副本、Store 和单次 Load 的完整示例,解释初始化、同版读取、多写者更新丢失及性能比较的边界。
-
讲清 Go archive/zip 的 File.DataOffset 如何定位 ZIP 条目数据起点,并用 CompressedSize64 计算安全物理范围,区分 Open、OpenRaw 与偏移读取的使用边界。
-
Go TLS 客户端要信任自定义 CA,通常应从系统根证书池开始,再用 AppendCertsFromPEM 追加 PEM,最后把证书池放进 tls.Config.RootCAs。本文给出 HTTP 客户端写法,并说明证书链、主机名和 InsecureSkipVerify 的边界。
-
用 Go x/text/secure/bidirule.ValidString 检查字符串是否符合 RFC 5893 双向文本规则,并说明它与 Unicode 规范化、字符白名单和完整标识符校验的边界。
-
Go malgo 配置立体声 PCM 播放时,应把设备类型设为 Playback,在 Playback 子配置中声明 FormatS16 与 2 个声道,并在 Data 回调里按左右声道交错的字节布局填充输出缓冲区。本文还说明 framecount、设备格式协商和资源释放的关系。
-
用一个批量读取小项目说明 Go bytes.Buffer.Reset 怎样在复用缓冲区时清掉旧内容,如何区分空输入与真实读取错误,以及 Bytes 返回切片的生命周期边界。
-
Go bytes.Cut 返回 before、after 和 found,适合在批处理代码中只切首个分隔符。本文用键值记录说明如何区分缺少分隔符与空字段,解释减少中间结果容器的思路,并给出切片共享与 bytes.Clone 的生命周期边界。
-
Goja 的 Compile 会生成与 Runtime 解耦的 Program,可以只编译一次,再交给多个独立 Runtime 执行。本文用完整示例说明输入注入、运行错误、并发隔离以及 Program 缓存与 Runtime 复用的边界。
-
Go 的 io.Pipe 可以让生产者 goroutine 通过 PipeWriter.CloseWithError 把失败原因传给消费者。本文用一条最小配方说明正常 EOF、业务错误和关闭时机的区别。
-
Go Benchmark测量分配次数,需先明确一次操作、夹具准备与结果生命周期。本文用分规模字节拼接示例说明ResetTimer、ReportAllocs和三类指标,避免把初始化或缓冲区复用误当成优化收益。
-
用 runtime/pprof.Labels 和 pprof.Do 给 goroutine 建立低基数标签作用域,区分 WithLabels、SetGoroutineLabels 与 profile 观察边界,并说明 CPU 与 goroutine profile 的适用范围。
-
用 golang.org/x/image/riff 解析 WAVE 时,先判断 formType,再按 ChunkID/FourCC 筛选 fmt 和 data 块,并正确处理 chunkLen、chunkData 生命周期与未知块。
-
Go math/bits.ReverseBytes16 接收 uint16 并交换其中的两个字节,适合处理定长整数的字节顺序转换。本文说明它与 Reverse16 的区别,给出协议字段中的调用方式,并提醒不要把字节交换和 encoding/binary 的整体序列化混在一起。
-
Go io.SectionReader 可以把支持 ReaderAt 的数据源限制为一个固定字节区间。本文用一个文件片段读取场景说明 NewSectionReader、Read、ReadAt、Seek 和 Size 的关系,并解释为什么它不会推进底层共享对象的顺序偏移。