-
Go 1.27 及以上模块中,go mod tidy 可以把重复的 require 块整理为直接与间接依赖块。本文说明版本条件、注释归属、go.mod 与 go.sum 差异以及 CI 复核边界。
-
Go 1.27 的 go fix 新增 slicesbackward modernizer,可把符合条件的手写切片反向循环迁移到 slices.Backward。本文说明如何预览变更、何时保留索引变量,以及生成文件和构建标签带来的边界。
-
Go 1.27 为 go doc 增加 package@version 查询形式,可以在不修改当前 go.mod 的情况下读取指定模块版本的包文档。本文说明如何定位到具体符号、选择展示选项,并拆分工具链、路径和代理导致的失败。
-
go doc -ex 会把包或符号关联的可执行示例纳入文档输出,适合快速查看示例源码;它不负责运行示例。本文说明 -ex 与默认查询、-src、-cmd 以及 go test 的边界。
-
Go 实验性 simd 运算应按 Len 动态分块,并单独处理不足一向量的尾部。本文以 uint32 切片加法说明实验构建、宽度测试、数据契约与标量回退,避免把固定寄存器宽度写进可移植代码。
-
Go testing/synctest 怎样让测试等待虚拟时间推进?本文用 bubble、time.Sleep 和 synctest.Wait 拆解虚拟时钟的推进条件,说明如何测试超时与后台 goroutine,以及网络 I/O 为什么不能直接依赖虚拟时间。
-
Go 1.27 新增的 go/types.Hasher 为 types.Type 提供了与 Identical 一致的等价关系和哈希函数。本文说明如何接入 hash/maphash、何时选择 HasherIgnoreTags,以及为什么它适合进程内类型缓存而不适合密码学摘要或跨进程持久化键。
-
使用 go/scanner 扫描 Go 源码时,Scanner.End 会返回当前已扫描 token 紧随其后的 token.Pos。本文说明怎样把它转换成行列和字节偏移,并处理首次调用、EOF、注释和文件长度边界。
-
Go 的 token.File.String 会输出文件名与 Pos 范围,而不是行列号。本文用 FileSet、Base、End、Pos 和 Position 的关系,拆清格式化文件对象与定位源码位置的使用边界。
-
Go 1.27 的 constant.StringLen 可直接计算字符串常量的字节长度,不必先提取完整内容。通过原创示例区分未知值与空串,说明字面量、拼接表达式、类型检查和报告缓存的适用边界。
-
Go 1.27 为数据库驱动增加 RowsColumnScanner,让驱动可以按当前列直接写入用户目标。本文拆开 NextRow、ScanColumn、ScanContext 与旧版 Next 的职责,给出兼容实现骨架和接入边界。
-
Go 1.27 的 database/sql.ConvertAssign 主要面向数据库驱动实现。本文说明如何在 RowsColumnScanner.ScanColumn 中复用 Scan 的类型转换规则,正确传递 ScanContext,并处理 NULL、溢出、Scanner、EOF 和资源关闭边界。
-
Go 通过握手后的 ConnectionState.LocalCertificate 读取本地证书链。本文区分本地与对端证书,提供 DER 解析与指纹记录示例,说明恢复会话空链、多证书配置和证书轮换的观测边界。
-
Go 1.27 为 crypto/x509.Certificate 增加 RawSignatureAlgorithm,可读取证书签名算法的 DER AlgorithmIdentifier。本文说明如何从 PEM 证书解析 OID,区分原始字节与 SignatureAlgorithm,并处理未知算法、ASN.1 错误和证书验证边界。
-
Go 1.27 新增 crypto/mldsa,可用 MLDSA44、MLDSA65 或 MLDSA87 生成 ML-DSA 私钥。本文给出密钥生成、公钥导出、seed 恢复以及带 context 的签名验证写法,并说明参数尺寸和 FIPS 140-3 边界。