-
Go Gonum 的 stat.Quantile 要求样本按升序排列,因为分位数本质上是在有序样本和累计权重上定位。本文说明排序契约、SortWeighted、权重对应关系以及 Empirical 与 LinInterp 的边界。
-
Go net.Dialer.Control 提供了真正拨号前接触底层连接的入口。本文用 syscall.RawConn.Control 说明如何在回调内读取或设置 socket 参数、传递错误,并处理网络名变化与文件描述符生命周期边界。
-
Go 1.24 起可以通过 net/http.Protocols 明确控制 Server 接收的协议。本文用服务端配置示例说明如何让 HTTP/1 与未加密 HTTP/2 共存,解释 h2c 与 TLS HTTP/2 的差异,并给出回滚和排障要点。
-
解释 Go x/text/secure/precis 的 OpaqueString 为什么面向 Unicode 口令字符串,而不是任意二进制秘密,并给出 Go 中的选型和错误处理方式。
-
Go go-geom 中空几何没有坐标,零坐标点却是有效的 (0,0) 坐标。本文用 NewPointEmpty、NewPoint、Empty 和 GeometryCollection 说明两者差异,并给出导入与计算前的安全判定方式。
-
Go TLS 的 MinVersion 限定协议协商下限,旧客户端最高版本不足时会因无共同版本握手失败。本文给出服务端配置示例,说明证书、TLS 终止点、日志与版本组合排查方法。
-
Go HTTP 客户端已复用 Client 与 Transport,连接数仍上涨时,应检查 Response.Body 是否读到 EOF 并关闭。本文给出小响应体、错误状态码和大响应体的处理策略,并说明 HTTP/1.x 连接复用的边界。
-
解释 Go Excelize 读取公式单元格时拿到旧结果的原因,区分缓存值与重新计算值,并给出 CalcCellValue 的排查和使用方法。
-
Go 的 http.Transport 把 MaxIdleConnsPerHost 设为零时并不是禁止连接复用,而是回退到 DefaultMaxIdleConnsPerHost。本文拆开空闲连接、活跃连接、全局上限和 DisableKeepAlives 的区别,给出可直接调整的配置方式。
-
Go encoding/csv 遇到 CSV 字段数量不一致时,不必直接丢弃整条记录。本文用 FieldsPerRecord、ParseError 和 InputOffset 拆分正常行与坏行,保留可复查的错误位置。
-
Go slog.SetDefault 可以让 slog 顶层函数和标准 log 默认 Logger 共用同一个结构化 Handler。本文说明 JSONHandler 接入、SetLogLoggerLevel 的级别控制,以及独立 log.Logger 与 NewLogLogger 的边界。
-
reflect.Value.MapIndex 找不到键时返回的是无效的 zero Value,不应直接调用 Interface、Kind 或 Elem。本文说明怎样用 IsValid 判断缺失键,区分元素零值与缺失键,并处理 nil map、key 类型和并发访问边界。
-
把 sync.WaitGroup.Add 放进新 goroutine,可能让 Wait 提前返回,也可能触发计数为负或 Add 与 Wait 并发的运行时 panic。本文用最小结构说明计数边界、批量任务写法和 go vet 检查方式。
-
解释 Testify mock 调用记录中的可变引用为何影响事后断言,通过 Run 回调复制调用时字段,区分匹配器、调用次数、独立快照及切片映射的复制和并发边界。
-
Go malgo 用 Playback、Capture、Duplex 和 Loopback 区分音频方向。本文说明如何分别枚举播放与捕获设备、让 DeviceConfig 与任务目标一致,并处理全双工、回采和资源释放边界。