Go语言技术文章
-
解释Go Bloom过滤器命中只表示可能存在的原因,提供命中后查询精确map的示例,并说明否定结果的同步前提、容量取舍与误判指标的解释边界。386 收藏 -
Go bloom 的持久化重点不是重新添加原始数据,而是保存 BloomFilter 的位图与参数。本文用 WriteTo 和 ReadFrom 说明怎样写入文件、进程重启后恢复查询,以及损坏文件、原子替换和并发访问的边界。172 收藏 -
Go bloom/v3 用 AddString 加入字符串、用 TestString 查询成员。本文从字节切片写法迁移到字符串方法,说明容量、误判率、精确回退和并发访问边界。303 收藏 -
Go bloom/v3 用 NewWithEstimates 按预计元素数量和假阳性率创建 BloomFilter。本文说明 n、fp、m、k 的关系、容量预算、查询结果边界,以及并发写入和持久化时的处理方式。227 收藏 -
Go bitset 的 Complement 计算的是当前 BitSet 长度以内的局部补集,不是无限整数域的补集。本文用 New、Set、Len 和 Count 说明如何明确边界并避免误读结果。169 收藏 -
Go bitset 的 NextSet 返回索引和布尔值两个结果。本文说明 found 的真实含义、正确遍历写法、空集边界,以及 Count 与 Len 的区别。355 收藏 -
说明Go bitset中Length概念对应Len方法,比较逻辑位长度与Count置位数量,通过小集合状态推导解释扩展、清位、空集合及性能指标的差别。384 收藏 -
Go bitset 提供 SymmetricDifference 与 InPlaceSymmetricDifference。本文用两组编号标记说明对称差、原地修改、结果遍历以及高编号稀疏数据的边界。212 收藏 -
介绍Go bitset通过MarshalBinary和UnmarshalBinary编码恢复位集合,解释逻辑长度、内部字数组和字节序的区别,并提供流接口与错误处理示例。421 收藏 -
Go bitset 枚举置位索引时,Go 1.23 及以上优先使用 EachSet 配合 range,旧版本使用 NextSet 循环;本文还说明 NextSetMany、Count、Len、空集合和并发访问边界。319 收藏 -
Go roaring 默认使用无符号32位整数,roaring64 提供64位扩展。本文从编号范围、跨语言格式、序列化和接口边界比较两者,给出实际选型规则。200 收藏 -
Go roaring 的 Rank 用于统计小于等于目标值的元素数量,Select 用于按 0 起始序号取出有序集合中的元素。本文用 Go 示例说明两者的下标约定、分页用途和空集合、越界、并发访问边界。337 收藏 -
Go roaring 的 Bitmap.And/Or 会把结果写回当前对象,而 roaring.And/Or 返回新的位图。本文用集合示例、共享指针风险和回归清单说明如何选择,避免重构时误改输入集合。317 收藏 -
Go roaring 可以用 WriteTo 和 ReadFrom 在 io.Writer/io.Reader 之间传输 Roaring 位图,也可以用 MarshalBinary 和 UnmarshalBinary 处理完整字节切片。本文说明两种入口、错误处理、容量估算与 32/64 位兼容边界。401 收藏 -
以Go roaring v1.9.4演示AddRange加入连续整数,说明半开区间、重叠去重、uint32最大值端点与闭区间转换,并提供外部范围检查封装及小集合实验。211 收藏