Go语言技术文章
-
Go 1.27 为 QUIC 服务端握手增加 QUICConfig.ClientHelloInfoConn,用来指定 ClientHelloInfo.Conn 的底层连接。本文区分 TLS Conn、QUICConn 与底层 net.Conn,说明只读边界和回调取值方式。498 收藏 -
Go 官方 watchflakes issue #81328 记录了 cgo_stale 在 ppc64 构建器的 signal: killed。本文从测试脚本、CGO_CFLAGS、GOCACHE 与编译器日志入手,说明为什么不能把资源终止误判成缓存陈旧,并给出可复查的证据链。327 收藏 -
Go 1.27 改变了 Darwin 与 Windows 上 x509.SystemCertPool 对 SSL_CERT_FILE、SSL_CERT_DIR 的处理。本文按证书来源、TLS 配置、GODEBUG 回退和跨平台回归四个边界,说明旧项目该怎么排查。405 收藏 -
Go 1.27 新增 crypto/mldsa,本文从消息签名、crypto/x509 和 TLS 1.3 三层边界说明它适合替换什么,以及为什么不应把它当成通用加密方案一次性切换。153 收藏 -
Go 的 math.Log2 在输入非常接近 1 时,内部减法会放大舍入误差,amd64 与 arm64 还可能因 FMA 产生不同结果。文章给出定位方法、替代写法和回归检查边界。386 收藏 -
Go 1.27.1 已于 2026 年 9 月 1 日发布。本文按 cgo、编译器、运行时和 net/http 拆解修复范围,并给出升级前后的检查顺序与回滚边界。380 收藏 -
Go 1.27 引入实验性的 simd 与 archsimd 后,部分 ARM64 板卡运行测试会触发 SIGILL。本文结合 RK3588 问题说明非法指令的来源、硬件能力边界与安全排查方式。460 收藏 -
Go 1.27 将 macOS 支持门槛提高到 macOS 13 Ventura。本文用构建机、目标平台和 cgo 三层检查,帮助你判断旧 macOS 是否会在升级后卡住。187 收藏 -
Go 在 riscv64 上出现结构体复制后 []byte 内容异常,通常不是切片共享导致,而是编译器优化写回错误。本文用 issue #80127 的复现现象拆开判断边界,并给出 CI 对照与升级检查清单。484 收藏 -
从 Go 官方 issue #80141 的复现拆解 cmd/compile 在超过 1000 个包级变量和多返回值初始化下触发内部错误的边界,并给出版本对照、CI 复测与安全处置方法。206 收藏 -
Golang · Go问答 | 3天前 | 编译器 · 故障排查 · Go问答 · MergeLocals · 版本回移 · Go Go 1.26 cmd/compile MergeLocals 编译器测试
从 Go 官方 TestMergeLocalsIntegration 测试和近期失败记录拆解局部变量合并的 trace 检查、失败分层与 Go 1.26 回移边界,帮助 CI 排查时区分测试回归、工具链环境和真实源码问题。294 收藏 -
Golang · Go问答 | 4天前 | CI · Go问答 · cmd/go · cgo构建 · 构建一致性 · Go CGO cmd/go build_cgo_consistent_results CI排查
从 Go 官方 build_cgo_consistent_results 测试和近期失败记录拆解 cgo 构建一致性的跳过条件、临时目录与编译器参数边界,给出一套不误判为源码问题的 CI 排查方法。217 收藏 -
Golang · Go问答 | 4天前 | 模糊测试 · Go问答 · cmd/go · 模块缓存 · CI排查 · Go GOMODCACHE cmd/go fuzz_modcache go mod verify
从 Go 官方 test_fuzz_modcache 脚本和 Windows 故障记录拆解模块缓存可写性、模糊测试语料库与 go mod verify 的隔离边界,给出一套不改坏共享缓存的 CI 排查清单。208 收藏 -
Golang · Go问答 | 4天前 | HTTP服务 · net/http · Go问答 · 超时处理 · Go net/http TimeoutHandler ErrHandlerTimeout return_after_timeout
从 Go net/http 源码拆解 TimeoutHandler 的 done、ctx.Done 和 timeoutWriter 边界,解释超时后日志、ErrHandlerTimeout 与测试辅助函数 return_after_timeout 应该如何区分。419 收藏 -
Golang · Go问答 | 4天前 | CGO · ppc64le · Go问答 · Go链接器 · Go CGO ppc64le linkerFlagSupported CC -mcpu=power10
解释 Go 在 ppc64le 环境探测外部链接器能力时,为什么会因多词 CC 命令丢失尾部参数而误判 -mcpu=power10,并给出识别与规避方法。456 收藏