Go语言技术文章
-
Go 在 riscv64 上出现结构体复制后 []byte 内容异常,通常不是切片共享导致,而是编译器优化写回错误。本文用 issue #80127 的复现现象拆开判断边界,并给出 CI 对照与升级检查清单。484 收藏 -
从 Go 官方 issue #80141 的复现拆解 cmd/compile 在超过 1000 个包级变量和多返回值初始化下触发内部错误的边界,并给出版本对照、CI 复测与安全处置方法。206 收藏 -
从 Go 官方 TestMergeLocalsIntegration 测试和近期失败记录拆解局部变量合并的 trace 检查、失败分层与 Go 1.26 回移边界,帮助 CI 排查时区分测试回归、工具链环境和真实源码问题。294 收藏 -
从 Go 官方 build_cgo_consistent_results 测试和近期失败记录拆解 cgo 构建一致性的跳过条件、临时目录与编译器参数边界,给出一套不误判为源码问题的 CI 排查方法。217 收藏 -
从 Go 官方 test_fuzz_modcache 脚本和 Windows 故障记录拆解模块缓存可写性、模糊测试语料库与 go mod verify 的隔离边界,给出一套不改坏共享缓存的 CI 排查清单。208 收藏 -
Golang · Go问答 | 2个月前 | 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 收藏 -
解释 Go 在 ppc64le 环境探测外部链接器能力时,为什么会因多词 CC 命令丢失尾部参数而误判 -mcpu=power10,并给出识别与规避方法。456 收藏 -
解释 Go 1.27.0 中泛型方法使用指针别名接收者时为何会生成无法解析的链接符号,并给出 1.27.1 升级、识别与回归检查边界。103 收藏 -
解释 Go modernize/newexpr 为何暂不把显式 uint32、int64 泛型辅助函数改成 new(expr),并给出默认类型、显式转换与批量审查边界。473 收藏 -
Go 1.27 新增 bytes.CutLast,可按最后一个分隔符返回 before、after 和 found。文章对比 LastIndex 手写切片,说明缺失分隔符与共享底层数组的边界。276 收藏 -
Go 1.27 移除了 go 命令对 bzr 的直接拉取支持。本文讲清代理与直连差异、两条迁移路线,以及干净缓存和 CI 的验收方法。331 收藏 -
Go 1.27 会在 ecdsa.PrivateKey.Sign 收到非空 SignerOpts 时核对哈希算法与摘要长度。文章说明新增检查、常见升级报错和签名适配器的审计方法。212 收藏 -
Go 1.27 为 math/big.Int 增加 Divide,可按 Trunc、Floor、Round、Ceil 计算商和余数。文章用负数除法与中点舍入说明四种模式、恒等式和迁移边界。202 收藏 -
Go 官方仓库的新问题显示,在 testing/synctest 的 bubble 内调用 t.Skip,内层会退出,但外层测试仍可能显示 PASS。文章解释两个 testing.T 的状态边界,并给出问题确认前更稳妥的跳过写法。373 收藏 -
Go 1.27 会识别已经移除的 GODEBUG 设置,但只接受移除前的最终默认值。文章比较 go.mod 与源码配置位置,并用 asynctimerchan 说明保留和报错边界。318 收藏