-
Go compress/flate 的 Writer.Reset 可以在保留压缩级别和字典配置的前提下切换新的输出目标,适合批量处理多个独立数据块。本文说明 Close、Reset、错误处理和并发所有权的正确顺序。
-
Go 通过 reflect.Value 反射写入整数时,不能只看输入是不是 int64,还要判断目标 Value 的 Kind 和可表示范围。本文说明 OverflowInt 的判断对象、整数边界、错误 Kind 处理和写入前检查方式。
-
Go net.Resolver.LookupCNAME 返回跟随零个或多个 CNAME 后的最终规范主机名。本文说明如何用带超时的 Resolver 查询、区分名称变化与解析失败,并解释没有 CNAME 但有地址时为什么仍可能成功。
-
Go database/sql.Rows 读取含 NULL 的多行结果时,不能把可空字段直接扫描到普通字符串或数字。本文用 sql.Null*、Scanner、any 和完整的 rows 生命周期示例,说明如何保留值与 Valid 状态,并处理动态列、提前退出和多结果集边界。
-
用afero MemMapFs为文件读取测试准备独立目录,示例讲清父目录创建、文件写入和实例注入,并区分正常内容、缺文件与真实磁盘测试的适用场景。
-
Go strings.Replacer.WriteString 接收 io.Writer,直接写出替换后的文本,并返回实际写入字节数与错误。本文用 bytes.Buffer 和部分写入 Writer 说明调用方式、错误判断及与 Replace 的选择。
-
math/bits.Add64 用两个 uint64 和一个 0 或 1 的输入进位计算固定宽度和,同时返回 sum 与 carry-out。本文从返回值契约讲到两个 64 位字的 128 位加法,说明如何传递低位进位并处理最终溢出。
-
用 Go Ants 配置 WithNonblocking(true),区分 ErrPoolOverload 与 ErrPoolClosed,并比较拒绝、有限重试和外部有界队列三种池满处理方式。
-
通过SubscribeMultiple为多个主题过滤器分别指定QoS,示例说明Token等待、逐项授权返回码、超时不确定性,以及权限、重连与共享回调的职责安排。
-
Go beep 暂停音频流不需要改写底层 Streamer,使用 beep.Ctrl 包装后切换 Paused 即可;播放中的对象要在 speaker.Lock 与 Unlock 之间修改,并区分暂停静音、继续播放和彻底停止。
-
用 Go 1.24 的 runtime.AddCleanup 管理已有 []byte 缓冲区:从 sync.Pool 复用容量,显式 Close 与 GC 兜底共享幂等释放协议,并说明引用边界、Stop、KeepAlive 和并发约束。
-
Go container/list.InsertBefore 返回 nil,通常不是插入位置写错,而是 mark 并不属于当前 List。本文从 Element 的所属关系和标准库源码出发,说明跨链表、已移除节点、nil 返回值与安全插入写法。
-
sync.OnceValue 只返回一次计算得到的 T,不会自动告诉调用方初始化是否已经发生。当 0、空字符串或 nil 也是合法业务结果时,应把 value、ready 或 err 放进同一个返回结构中,再由 OnceValue 统一缓存。
-
Go archive/tar 只负责读取 tar 条目,不会替应用限制解包路径和磁盘预算。本文用路径归一化、根目录边界检查、单文件上限与总量上限,搭出可迁移的安全解包骨架。
-
Go 的 io.CopyN 可以把流中的固定字节数复制到缓冲区,适合读取并保留协议头原始字节。本文说明 written 与 err 的成功判定、输入过短和底层错误处理,并比较它与 io.ReadFull 的边界。