-
Go crypto/ecdh.PrivateKey.Equal 用于判断两个私钥对象是否代表同一把 ECDH 私钥。本文说明同一曲线、类型匹配、常量时间比较和 Bytes 编码之间的边界。
-
Go 的 debug/pe 将 PE 文件的 OptionalHeader 暴露为 32 位或 64 位具体结构。本文用一个紧凑的类型 switch 读取 AddressOfEntryPoint 与 ImageBase,解释入口点 RVA、虚拟地址和文件偏移的区别,并补上解析失败与不可信输入的处理边界。
-
先打开一个可复用的 os.Root,再用相对路径调用 Root.OpenFile;文章说明返回文件句柄的使用方式,以及 Root 与 *os.File 的关闭边界。
-
Go go/format.Node 可以把 ast.File、声明、语句或表达式节点写成 gofmt 风格的 Go 源码。本文从 FileSet 和 parser 开始,说明完整文件与局部节点的差异、注释处理以及 AST 或 Writer 出错时的处理方式。
-
Go 1.27 工具链中的 waitgroupgo 更适合做 WaitGroup 代码现代化迁移。本文区分 go vet 检查与 go fix 差异预览,说明 Add、goroutine、Done 组合的修复顺序,以及闭包、错误处理、递归启动和旧工具链兼容边界。
-
Go 的 io/fs.FileMode 同时携带文件类型位和权限位。本文从 FileInfo、DirEntry、IsDir、IsRegular、Type、Perm 几个入口说明如何区分目录、普通文件与符号链接等特殊类型,并补上遍历时的错误处理边界。
-
Go 的 archive/tar.Writer.AddFS 可以直接接收 fs.FS,遍历目录树并保持相对路径写入 tar。本文用 os.DirFS 拆解归档根目录、AddFS、Close 和生产环境错误处理边界。
-
Go stringsseq 适合把只遍历一次的 strings.Split 或 strings.Fields 迁移为 SplitSeq、FieldsSeq,减少临时切片分配。本文说明适用边界、go fix 预览方法、版本要求以及索引、重复遍历和语义回归检查。
-
Go 1.27 的 go fix 新增 slicesbackward,可以把满足固定形状的倒序切片循环迁移为 slices.Backward。本文从输入边界、索引依赖、版本条件和预览方式说明何时适合使用。
-
在 Go 静态分析中,类型别名不能只按 Named 类型处理。本文用 go/types.Alias.Rhs 读取 type A = R 的右侧类型,并说明 Alias、别名链与 types.Unalias 的边界。
-
Go strings.SplitAfterSeq 返回一次性迭代器,适合按分隔符遍历并保留分隔符所在片段。本文从日志和协议文本的输入边界出发,说明尾部片段、空分隔符、无匹配和单次迭代的处理方式。
-
Go fix embedlit 可简化嵌入字段初始化,本文说明语言版本、字段路径和已有嵌入值的输入边界,用源码计数区分可读性收益与性能结论。
-
Go 1.27 的 go fix unsafefuncs 可以把可识别的 unsafe 指针算术迁移为 unsafe.Add 函数调用。本文说明怎样先用 -diff 预览,再检查字节偏移、对象边界、生命周期和旧工具链兼容性。
-
Go 标准库 debug/macho.File.Section 可以按名称取得 Mach-O 节区。本文从打开文件、查找节区、读取元数据到选择 Data 或 Open 的完整流程,说明错误处理、资源关闭和输入边界。
-
Go 1.27 的 go fix 增加 unsafefuncs modernizer,可把部分 unsafe.Pointer 与 uintptr 指针运算改写为 unsafe.Add。本文用代码对比说明迁移范围,并给出预览、复核和提交前检查清单。