Go教程技术文章
-
Go fastjson 在重复解析JSON时可以复用 Parser,减少反复创建解析器和临时对象的分配压力。本文说明 Parser、Value、ParserPool 的生命周期边界,并给出可直接改造的代码结构。385 收藏 -
GoLLRB 的 DeleteMin 会删除并返回有序树中的最小元素,空树返回 nil。本文对比 Min 与 DeleteMin,演示 llrb.Int、类型断言和连续消费时的停止条件。483 收藏 -
GoLLRB 的自定义对象只需实现 llrb.Item 的 Less 方法,但比较规则必须稳定且可区分。本文用优先级加 ID 的复合键说明插入、等价更新、查询和范围遍历的写法与边界。289 收藏 -
GoLLRB 使用 AscendRange 按左闭右开区间遍历有序元素。本文说明 Item 比较规则、边界参数、提前停止和空结果处理,并给出适合分页与时间窗口查询的调用方式。166 收藏 -
本文以对象移动为例,说明 Go rtreego 为什么不能直接修改 Bounds,并给出 Delete、更新边界、Insert 的维护顺序,以及没有原对象指针时使用 DeleteWithComparator 的方法。476 收藏 -
本文用 Go rtreego 实现二维矩形范围检索,说明 Spatial、Rect、SearchIntersect、LimitFilter 的用法,并整理空结果和对象更新时的排查清单。247 收藏 -
本文用二维服务点示例说明 Go rtreego 的最近邻查询:让对象实现 Spatial.Bounds,创建二维 R-tree 后用 NearestNeighbor 查找单个最近对象,用 NearestNeighbors 获取前 k 个候选,并处理空树、维度一致性和对象移动后的重插入边界。246 收藏 -
Go bloom 的持久化重点不是重新添加原始数据,而是保存 BloomFilter 的位图与参数。本文用 WriteTo 和 ReadFrom 说明怎样写入文件、进程重启后恢复查询,以及损坏文件、原子替换和并发访问的边界。172 收藏 -
Go bloom/v3 用 AddString 加入字符串、用 TestString 查询成员。本文从字节切片写法迁移到字符串方法,说明容量、误判率、精确回退和并发访问边界。303 收藏 -
Go bloom/v3 用 NewWithEstimates 按预计元素数量和假阳性率创建 BloomFilter。本文说明 n、fp、m、k 的关系、容量预算、查询结果边界,以及并发写入和持久化时的处理方式。227 收藏 -
Go bitset 提供 SymmetricDifference 与 InPlaceSymmetricDifference。本文用两组编号标记说明对称差、原地修改、结果遍历以及高编号稀疏数据的边界。212 收藏 -
介绍Go bitset通过MarshalBinary和UnmarshalBinary编码恢复位集合,解释逻辑长度、内部字数组和字节序的区别,并提供流接口与错误处理示例。421 收藏 -
Go bitset 枚举置位索引时,Go 1.23 及以上优先使用 EachSet 配合 range,旧版本使用 NextSet 循环;本文还说明 NextSetMany、Count、Len、空集合和并发访问边界。319 收藏 -
Go roaring 可以用 WriteTo 和 ReadFrom 在 io.Writer/io.Reader 之间传输 Roaring 位图,也可以用 MarshalBinary 和 UnmarshalBinary 处理完整字节切片。本文说明两种入口、错误处理、容量估算与 32/64 位兼容边界。401 收藏 -
以Go roaring v1.9.4演示AddRange加入连续整数,说明半开区间、重叠去重、uint32最大值端点与闭区间转换,并提供外部范围检查封装及小集合实验。211 收藏