Go语言技术文章
-
用一个只读标签集合实现 Go iter.Seq 范围迭代器,说明空输入、构造错误、提前退出与重复遍历的接口约定,给出带中文注释的完整示例。407 收藏 -
Go 1.23 引入的 maps.Keys 返回键迭代器,配合 slices.Sorted 可以在需要稳定顺序时一次收集并排序,本文用批处理示例说明空 map、无序遍历与高频复用边界。160 收藏 -
围绕 Go maps.Keys 讲清无序键迭代、slices.Sorted 排序、空映射 nil 结果、后续值读取与并发写入边界。191 收藏 -
本文用 Go debug/macho 读取 Mach-O 的 Dysymtab.IndirectSyms,说明它与 Symtab.Syms 的索引关系,并给出处理缺少表、空表和越界索引的只读示例。354 收藏 -
Go maps.Keys 返回无序键迭代器,结合 slices.Sorted 生成独立有序切片,再按键读取值。示例说明空映射、后续修改和业务比较规则。427 收藏 -
围绕 Go slices.Collect 讲清 iter.Seq 到 []E 的收集方式、空输入的 nil 结果、浅拷贝边界和错误保留方案。432 收藏 -
Go slices.Collect 可以把 iter.Seq 产出的值收集成新的切片,适合后续索引、排序或重复遍历。本文用可复用的偶数迭代器说明 Go 1.23 及以上版本的最小用法,并解释 nil 空结果、引用型元素的浅拷贝以及何时应继续流式消费。165 收藏 -
Go 1.23 提供的 slices.Chunk 可以把切片按固定大小变成批次迭代器。本文从一个可中止的批处理场景出发,说明空输入、最后一批不足 n 个元素、n<=0 以及子切片容量边界。461 收藏 -
用 Go slices.Chunk 把大切片按固定大小分批,覆盖尾批次、空输入、非法批大小和子切片生命周期。123 收藏 -
本文从可选配置键值拆分的排查现场出发,说明 strings.Cut 的 found 返回值、空输入处理、缺少分隔符和空字段边界,并给出可复用的 Go 解析示例。222 收藏 -
用 strings.Cut 解析裸键、空值和普通配置值,减少临时拆分切片,附 ParseOption 批处理实现与 SplitN 对照基准代码,说明统计单位、错误语义和结果存储寿命。308 收藏 -
Go bytes.Cut 返回 before、after 和 found,适合在批处理代码中只切首个分隔符。本文用键值记录说明如何区分缺少分隔符与空字段,解释减少中间结果容器的思路,并给出切片共享与 bytes.Clone 的生命周期边界。307 收藏 -
用 Go strings.Cut 拆分可选配置键值时,关键是同时读取 before、after 和 found:只按第一个等号切开,缺少分隔符时明确返回错误,值中的后续等号保持不变。本文封装一个可复用的小函数,并覆盖空键、空值和多余等号。339 收藏 -
使用 bytes.Cut 解析首个分隔符时,关键不是看 before 或 after 是否为空,而是读取 found。本文用一组覆盖空字段、缺少分隔符、空输入和空分隔符的示例,说明如何保留错误边界并安全复用原始字节切片。458 收藏 -
用 Found 区分 bytes.Cut 的分隔符缺失与空字段,附可复用 CutFields 完整示例,说明首次切分、空输入、空分隔符与返回切片共享缓冲区的处理方法。491 收藏