Go问答技术文章
-
Go 1.27 新增 crypto/mldsa,本文从消息签名、crypto/x509 和 TLS 1.3 三层边界说明它适合替换什么,以及为什么不应把它当成通用加密方案一次性切换。153 收藏 -
Go 的 math.Log2 在输入非常接近 1 时,内部减法会放大舍入误差,amd64 与 arm64 还可能因 FMA 产生不同结果。文章给出定位方法、替代写法和回归检查边界。386 收藏 -
Go 1.27 引入实验性的 simd 与 archsimd 后,部分 ARM64 板卡运行测试会触发 SIGILL。本文结合 RK3588 问题说明非法指令的来源、硬件能力边界与安全排查方式。460 收藏 -
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问答 | 1个月前 | 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 官方仓库的新问题显示,在 testing/synctest 的 bubble 内调用 t.Skip,内层会退出,但外层测试仍可能显示 PASS。文章解释两个 testing.T 的状态边界,并给出问题确认前更稳妥的跳过写法。373 收藏 -
Go 1.27 的链接器可用 -macos 与 -macsdk 写入 Mach-O 的 LC_BUILD_VERSION。本文说明两个参数分别控制什么、为什么最低系统声明不等于真实兼容,以及发布前如何核对。285 收藏 -
Go 1.27 调整了 pkix.RDNSequence.String 和 Name.String 对未知 OID 字符串属性的展示方式。本文说明哪些日志与快照会变化,以及如何避免把格式化文本当成稳定协议。466 收藏