Go语言技术文章
-
Go 1.27 为 crypto/tls 增加 MLKEM1024。本文用最小配置和握手检查说明 CurvePreferences 如何显式声明候选组,以及 tlsmlkem、tlssecpmlkem 何时只影响默认选择。163 收藏 -
Go 1.26 为 testing.T、testing.B 和 testing.F 增加 ArtifactDir。本文用一个测试产物写入场景,讲清 -artifacts、-outputdir 与临时目录的保留边界。497 收藏 -
Go 1.27 新增 ConnectionState.LocalCertificate。本文区分本端证书链、对端证书链与恢复会话,给出可核对的 TLS 观测代码和排查边界。218 收藏 -
gopls 0.23 移除了 fix、inspect 和 bug 子命令。本文按实际迁移边界说明 codeaction、remote、serve 的职责变化,并处理 importsSource 与 analyzer 配置兼容问题。443 收藏 -
Go 1.26 为 runtime/metrics 增加了更细的调度指标。本文用一段紧凑的采样代码区分 runnable、waiting、running、GOMAXPROCS、运行时线程数与创建总量,说明哪些组合能提示排队或阻塞,哪些结论不能只靠一个数字得出。405 收藏 -
围绕 strings.CutLast 的空分隔符、未命中和末尾分隔符场景,解释 found 返回值与 LastIndex 兼容实现的判断边界。243 收藏 -
Go 1.26 迁移 B.Loop 基准时,重点不是把 b.N 换成一个新方法名,而是确认计时边界、函数调用保活、内联变化和死代码消除没有改变被测对象。402 收藏 -
Go 1.27 的 URL.Clone 会深拷贝 URL 字段,但 URL 本身保存的是 RawQuery 字符串;真正的 map[string][]string 需要用 Values.Clone 隔离。本文拆开两层边界,给出改参、写回和复查方法。459 收藏 -
围绕 Go 1.26 Green Tea GC 的小对象标记扫描、同口径基准和 nogreenteagc 回退对照,说明如何判断收益与定位回归。201 收藏 -
Go 1.27 为 go test -json 的 output 事件增加可选 OutputType。通过 Action、Package、Test、OutputType 和 FailedBuild 的组合,解析器可以区分测试框架帧、失败首行、失败续报与构建失败,避免 CI 报告重复计数。467 收藏 -
用 pkg.go.dev API 读取 Go 包、模块和版本元数据,处理路径歧义、构建上下文与分页,并划清目录数据和本地构建验证的边界。481 收藏 -
Go 1.27 为 net/http.Server 增加 MaxHeaderValueCount。本文从单个请求头的多值限制讲起,说明默认行为、拒绝路径、代理链回归和兼容检查。305 收藏 -
Go 1.27 会整理 go.mod 中多个 require 块。本文从升级后的差异现场出发,说明 direct 与 indirect 分组的触发条件、验证方法和 CI 防复发做法。331 收藏 -
Go 1.23 引入的 slices.Collect 会把 iter.Seq 收集为新切片,但空序列返回 nil,容量也不是 API 承诺。本文拆开 nilness、容量、元素别名和重复消费边界,给出稳定测试写法。416 收藏 -
Go 1.27.1 是小版本升级,但官方修复范围触及 cgo、编译器、runtime 和多个标准库。本文把这些范围映射成构建、运行与接口行为回归矩阵,帮助项目决定直接升级、灰度还是保留临时回退开关。240 收藏