Go语言技术文章
-
Go 1.27 的 go fix 新增 unsafefuncs modernizer,可把特定的 unsafe.Pointer 与 uintptr 算术改写为 unsafe.Add。本文用最小代码说明改写对象、版本门槛和人工复核边界。368 收藏 -
Go 1.27 调整了 //line 与 /*line*/ 指令中相对文件名的解析基准。本文用生成代码场景说明目录基准、绝对路径、诊断核对和发布前检查,避免错误定位把锅甩给业务代码。192 收藏 -
Go 1.27 为 net/url 增加 URL.Clone 和 Values.Clone。本文从请求模板复用场景出发,说明浅复制为何会共享可变查询参数、如何分别复制 URL 与 Values,以及 RawQuery、Query 和 Encode 之间的边界。490 收藏 -
Go 1.27 将 runtime/pprof 的 goroutineleak profile 作为正式能力,但它依赖垃圾回收可达性判断,并不能覆盖所有永久阻塞。本文用全局 channel 场景拆解它能发现什么、为什么会漏报,以及工程上如何补查。351 收藏 -
Go 1.27 新增 crypto/mldsa 标准库包。本文用最小示例说明 ML-DSA-44 的密钥生成、签名、验签、Context 约束,以及 FIPS 140-3 模块下的可用性边界。106 收藏 -
Go 1.27 为 compile、link、asm、cgo、cover、pack 增加响应文件支持。本文用一个小型 CI 参数契约说明 @file 的解析范围、引号与反斜杠换行规则,以及升级后的回滚验收方法。377 收藏 -
Golang · Go教程 | 2天前 | go并发 · pprof · 故障排查 · Go教程 · 版本升级 · GODEBUG runtime/pprof Go 1.27 goroutine 标签 tracebacklabels
Go 1.27 让带有 go 1.27 版本指令的模块在运行时回溯中默认显示 runtime/pprof goroutine 标签。本文从标签来源、go.mod 版本边界、tracebacklabels=0 回退和排查清单四个角度,说明什么时候保留诊断信息,什么时候关闭敏感标签。174 收藏 -
Go 1.27 的 HTTP/1 Response.Body 在 Close 时会有限度排空未读内容,以提高连接复用机会。本文用读取边界、Transport 配置和复查指标说明该行为能解决什么,哪些场景仍要显式限制响应体。311 收藏 -
Go 1.27 的 go test 默认启用 stdversion vet,会按 go.mod 的 go 指令和文件构建条件检查标准库符号是否超出兼容版本。本文用 slices.Values 说明告警来源、修复选择和 CI 验收边界。348 收藏 -
Golang · Go教程 | 2天前 | 标准库 · go · Go 1.27 · 并发测试 · HTTP 测试 · testing/synctest Go 1.27 httptest.NewTestServer Go 并发测试 内存网络
Go 1.27 为 httptest 增加 NewTestServer,默认使用内存网络;testing/synctest 则负责隔离并发测试中的 goroutine 与虚拟时间。本文用一个异步 HTTP Handler 示例说明两者的连接方式、等待边界和不适用场景。184 收藏 -
Golang · Go问答 | 2天前 | Go问答 · Go 1.27 · 类型系统 · go/types · Go 1.27 类型缓存 go/types.Hasher HasherIgnoreTags Identical
Go 1.27 为 go/types 增加 Hasher 与 HasherIgnoreTags,用于为 Type 提供与 Identical 或 IdenticalIgnoreTags 一致的哈希关系。本文从类型分析缓存键冲突场景出发,说明 Hash、Equal、maphash.Hash 和结构体标签的边界。383 收藏 -
Go 1.27 对 go.mod 的多组 require 块做了结构整理。本文从合并冲突和手工编辑后的现场出发,解释何时会重排、注释如何归属,以及升级后怎样做最小复查。298 收藏 -
Go 1.27 新增 uuid 标准库包,提供 New、NewV4、NewV7、Parse 等 API。本文用请求 ID 和数据库主键两个场景说明随机 UUID、时间有序 UUID、Parse 与 MustParse 的选择边界,帮助已有第三方依赖的项目平稳迁移。463 收藏 -
Golang · Go教程 | 2天前 | go · TLS · Go 1.27 · QUIC · crypto/tls Go 1.27 QUICConfig ClientHelloInfoConn QUIC握手
Go 1.27 为 tls.QUICConfig 增加 ClientHelloInfoConn,用于指定 ClientHelloInfo.Conn 暴露的 net.Conn。本文从 QUIC 证书选择和配置回调场景讲清赋值位置、可读取的连接元数据、禁止读写的边界与兼容做法。320 收藏 -
Golang · Go教程 | 2天前 | 性能优化 · Go教程 · 数据库驱动 · Go1.27 · 数据库驱动 database/sql Go 1.27 Rows.Scan RowsColumnScanner
Go 1.27 为 database/sql/driver 新增 RowsColumnScanner,使驱动可通过 NextRow 和 ScanColumn 直接处理用户目标地址。本文拆解传统中转层、兼容写法与可靠基准方法。187 收藏