Go问答技术文章
-
从 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 官方仓库的新问题显示,在 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 收藏 -
Go 1.27 的 runtime/secret 用 Do 包住机密计算时,新建 goroutine 会继承 secret mode,但它不是万能的内存清理器。本文拆开 Enabled、堆对象可达性、全局变量、平台支持和 GOEXPERIMENT=runtimesecret 的边界,帮助你判断这项实验能力能否放进密码学代码。180 收藏 -
Go 1.27 为小对象引入 size-specialized memory allocation。文章解释小于 80 字节的分配为何可能受益、整体收益为何不能照搬,以及如何用基准、二进制体积和 GOEXPERIMENT 做上线判断。395 收藏 -
Golang · Go问答 | 2星期前 | go · TLS · 网络安全 · 版本迁移 · crypto/tls Go 1.27 TLS 1.3 ConnectionState.LocalCertificate PeerCertificates
Go 1.27 为 tls.ConnectionState 增加 LocalCertificate,用来读取本端在握手中发送的证书链。它和 PeerCertificates 的方向相反,读取时机也不同。本文用最小代码拆开字段语义、握手后读取方式、mTLS 审计边界与升级检查。480 收藏 -
Go 1.27 将 runtime/pprof 的 goroutineleak profile 正式开放,用垃圾回收可达性发现一部分永久阻塞的 goroutine。本文说明采集入口、HTTP 端点、可识别范围和全局可达对象造成的漏检边界。465 收藏