-
Go checksum mismatch 不能靠盲目删除 go.sum 或关闭 GOSUMDB 解决。本文按公共模块、缓存污染、重新打标签和私有模块四种边界,给出一套保留完整性校验、可复查且适合提交到团队仓库的修复方法。
-
系统证书环境变量改变后,应区分根证书来源与平台验证路径。本文说明 Go 1.27 的平台行为变化,以专用根池示例明确客户端信任边界,并提醒不要通过关闭 TLS 验证恢复连通。
-
Go 1.26 的 EncryptOAEPWithOptions 可以分别设置 OAEP 主哈希和 MGF1 哈希。本文按 Hash、MGFHash、label 与 RSA 模长四项参数,说明 Go 与 Java、OpenSSL 等对端如何建立可排查的 RSA-OAEP 互操作契约。
-
Go Doublestar 的 **.md 与 *.md 一样只匹配单个文件名段,递归应使用 **/*.md。结合内存文件树示例,说明双星号位置、零层目录、Match 与 Glob 路径基准及空结果的区别。
-
Go x/text/number 中 MinFractionDigits 控制小数位下限,MaxFractionDigits 控制上限。本文按排障手册说明两者何时配套、何时只设一侧,以及 Scale 固定精度的选择。
-
复用同一个结果结构体调用 Go mapstructure 解码时,未出现在新输入中的字段可能继续保留。本文解释默认合并行为,并给出 ZeroFields、重新创建结果对象和 Metadata 的选择方法。
-
Go 的 http.Transport.HTTP2 用于配置 HTTP/2 连接的高级参数,但它不负责选择协议。本文区分 Protocols 与 HTTP2Config,说明客户端可用字段、零值语义和服务端专属配置。
-
go-mp3 的 Decoder.Length 统计的是解码流总字节数,不是 MP3 压缩文件大小。本文说明可寻址输入中的 Length、非 io.Seeker 输入的 -1、Read 累计方式,以及 16 位小端双声道输出的单位边界。
-
Go DNS 解析在本机正常、容器里失败,通常不是 Go 随机改变了结果,而是两侧的 resolv.conf、hosts、网络命名空间或解析器路径不同。本文给出一套从输入配置到 net.Resolver 的排查与修复路线。
-
Go 1.25 的 CrossOriginProtection 可以拦截跨源写请求。本文说明如何用 SetDenyHandler 统一返回 JSON 拒绝响应,并厘清安全方法、Origin、Sec-Fetch-Site 与日志边界。
-
gopacket 的 ErrorLayer 不是“截断”这个单一状态,而是解码链在某个位置失败后的错误层。本文区分 CaptureInfo 长度、Metadata().Truncated、协议长度字段和未知解码器,给出一套可落地的排查写法。
-
transform.Chain 只负责按顺序组合转换器,不会自动扩展调用方提供的 dst。本文用 x/text/runes 和 transform 的例子说明 ErrShortDst、nDst、nSrc 的正确处理,以及 transform.Writer 在 Close 时刷新尾部数据的原因。
-
Gonum optimize 的 initX 会改变搜索起点和后续路径。本文用双谷目标函数说明局部解差异的来源,并给出多起点、尺度检查和结果复查方法。
-
Go json.Decoder.UseNumber 只改变解码到 interface{} 时的数值类型,不是 Marshal 的全局开关。本文拆开 float64、json.Number、string 与 RawMessage 的边界,说明何时能保留数字字面量、何时已经无法恢复原始表示。
-
os.Executable 返回的是启动当前进程的可执行文件路径,但符号链接、文件替换和部署变更都会影响它是否仍指向预期文件。本文用最小 Go 示例说明错误处理、EvalSymlinks 与资源目录选择。