-
Go Close 负责关闭文件,不能替代 Sync 的持久化职责。区分 bufio.Flush 与文件同步,提供保留写入、刷新、同步、关闭错误的示例,并说明目录项与存储环境的保证边界。
-
围绕 Go io.WriterTo 与 io.Copy 的源端复制路径,说明如何实现 WriteTo、如何处理短写和错误,以及包装类型和 ReaderFrom 会怎样改变快路径选择。
-
Go encoding/binary.Append 能把固定大小的数据按指定字节序追加到已有 []byte,并返回新的切片与错误。本文说明返回值、容量复用、ByteOrder 以及 AppendUvarint 的选择边界。
-
Go 中普通表单字段读不到,常见原因不是字段名,而是 application/x-www-form-urlencoded 与 multipart/form-data 的请求体、Content-Type 和解析入口没有对应。本文按场景给出客户端与服务端的配对写法。
-
crypto/subtle.XORBytes 会按两个输入切片的较短长度写入,但输入长度不一致并不是普通截断场景。本文结合官方文档说明 dst 长度、输入长度、返回值和切片重叠的边界。
-
Go path.Match 面向正斜杠分隔的路径名,* 和 ? 不会跨过斜杠。本文用代码说明分段匹配、字符类、转义、完整匹配与 ErrBadPattern 的区别,并说明什么时候应改用 filepath.Match。
-
Go debug/pe 的 COFFSymbol.Name 只有 8 个字节,短名称直接内嵌,长名称则保存字符串表偏移。本文解释两种编码的判断方式,用 FullName 正确读取长符号名,并说明字符串表位置、辅助记录和坏偏移错误的处理边界。
-
go/types.NewMethodSet 会为类型构造方法集合,而 Len、At、Lookup 都是读取接口。本文用分析会话内的类型身份建立缓存,说明如何只构造一次并安全复用只读 MethodSet,同时处理并发 miss、指针类型和缓存生命周期。
-
Go cookiejar.Jar.Cookies 返回的是针对某个请求 URL 过滤后的 Cookie,不是 Jar 中的全量内容。本文从 scheme、host、Domain、Path 和 Secure 条件排查为什么某个 Cookie 没有返回。
-
Go 1.27 的 encoding/json/v2 可以用调用级 Options 和字段级 json 标签收紧解码边界。本文围绕 RejectUnknownMembers、case:strict、case:ignore 与 SemanticError,说明如何让外部 JSON 输入可控地拒绝未知字段、保留局部兼容,并定位具体错误位置。
-
Go ReportAllocs 启用分配报告,辅助工作混入计量区才容易误导归因。本文用复用缓冲和新建输出两类基准,说明 ResetTimer、预热、操作单位及公平比较条件。
-
Go workspace 里同时出现 use 和 replace 时,不能简单理解成后写的指令覆盖前面的指令。本文区分 workspace 主模块、go.work 依赖替换和 go.mod 替换的作用,解释通配 replace 与主模块冲突的原因,并给出定位和修复方法。
-
Go regexp/syntax.Regexp.MaxCap 会递归遍历正则语法树,返回捕获组编号中的最大值。本文说明 Parse 后怎样读取这个结果、为什么没有捕获组时返回 0,以及如何把它接入配置登记、失败记录和字段名表处理。
-
Go 的 html/template.ParseFS 可以直接从 embed.FS 加载模板,但嵌入路径、模板匹配和执行错误各有边界。本文用一个可运行的页面渲染例子拆开加载、执行、错误定位与发布验收。
-
Go runtime/metrics.Read 适合把一组运行时指标一次性读入复用的 Sample 切片。本文从 metrics.All 获取描述符,演示样本缓冲、ValueKind 类型分支、未知指标处理与并发读取边界,帮助你写出不会误读数值的采集代码。