-
讲清 Go database/sql.Tx.StmtContext 如何把已有的 DB 级预编译语句绑定到当前事务,并比较 Tx.PrepareContext、ExecContext 的适用场景、上下文边界和关闭时机。
-
Go database/sql/driver.Stmt.NumInput 决定 database/sql 是否能在执行前检查占位参数数量。本文用驱动实现视角说明返回非负数与 -1 的差异,帮助定位参数个数错误到底发生在预检阶段还是数据库执行阶段。
-
Go 1.21 起,crypto/tls 提供 QUICServer 与 QUICConn,负责 TLS 握手这一层,不替代 QUIC 的 UDP 拥塞控制与数据包调度。本文从资产、信任边界和事件循环出发,说明服务端如何创建连接、处理握手事件与安全关闭。
-
Go x/sync/errgroup.SetLimit 可以把活动 goroutine 数量限制在指定上限。本文从批量任务的实际场景出发,说明 SetLimit 与 Go、TryGo、WithContext 和 Wait 的配合方式,以及限制值、错误取消和任务提交时机的边界。
-
Go reflect.Value.Seq 可以把运行时才确定类型的数组或切片暴露为 iter.Seq[reflect.Value]。本文说明如何用 IsValid、CanSeq 和 range 安全遍历元素,并区分 Seq 与 Seq2 的适用边界。
-
Go url.URL.Redacted 会像 URL.String 一样重组地址,但只把 u.User 中的密码替换为 xxxxx。本文用解析、日志和错误处理场景说明如何安全输出带凭据的 URL,并厘清查询参数、片段和真正请求发送之间的边界。
-
用 netip.ParseAddr 与 IsMulticast 判断 IPv4、IPv6 和映射地址是否为组播,解释零值、未指定地址以及 IsGlobalUnicast 的区别,并提供配置分类写法与边界样例。
-
Go 的 url.JoinPath 适合在已有 URL 上拼接路径段并清理多余斜杠、点段,同时保留 base 中的查询参数和片段。本文说明路径段转义、错误处理、URL.JoinPath 选择和常见边界。
-
Go netip.AddrFromSlice 可以把 4 字节或 16 字节切片解析为 netip.Addr。本文说明 IPv4、IPv6、长度错误、IPv4 映射 IPv6 与 AddrFrom4、AddrFrom16、ParseAddr 的选择边界。
-
Go runtime/debug.SetTraceback 用来调整未恢复 panic 或运行时错误退出前的堆栈详情。本文梳理 GOTRACEBACK 各级别、运行时设置的限制,以及开发、测试和生产环境如何选择诊断输出。
-
Go netip.Addr.Prev 返回当前 IP 之前的地址,并在地址空间边界返回零值。本文说明如何解析输入、区分 Addr{} 与 0.0.0.0/::、遍历 IPv4/IPv6 地址,以及处理带 zone 的 IPv6 地址。
-
Go runtime/trace.Logf 适合把带分类和格式化参数的一次性消息写入执行追踪。本文说明 trace.Start/Stop 的生命周期、context 传递、Logf 与 Log 和 WithRegion 的边界,以及高频场景中的开销控制。
-
Go runtime/debug.SetMaxThreads 设置的是操作系统线程总量上限,不是 goroutine 数量或 GOMAXPROCS。本文说明如何在启动阶段设置并保留旧值,解释 cgo、阻塞系统调用与 LockOSThread 对线程创建的影响,并给出上线前的容量边界。
-
讲清 Go httptrace.WroteHeaderField 观察的请求头写入边界,并给出脱敏、并发安全和 WroteRequest 配合记录的实现方式。
-
Go filepath.IsAbs 只判断路径字符串按当前操作系统规则是否为绝对路径,不访问文件系统。本文说明 Unix 与 Windows 的路径边界,并区分 IsAbs、Abs、IsLocal 和 Clean 的职责。