Go教程技术文章
-
Go roaring 计算压缩位图交集时,先区分 And 是否会修改接收者,再按需求选择 Clone+And、AndCardinality 或 Intersects。本文用用户集合示例说明结果、数量、真假三种输出的工程取舍。469 收藏 -
Go snowflake 生成的编号可以恢复出节点号和同一毫秒内的序列值。本文从字符串与 int64 两种输入开始,说明 Node、Step、默认位布局、自定义位宽以及弃用 API 的维护边界。200 收藏 -
说明 snowflake.ID 如何用 Base58 生成可传输文本,再用 ParseBase58 还原编号,并梳理字符表、错误处理与排序语义边界。443 收藏 -
基于Go snowflake v0.3.0,介绍默认节点范围、环境变量配置、共享Node生成编号及扩容边界,区分理论序列容量与实测吞吐,并说明编号存储和性能记录方法。216 收藏 -
Go sonyflake 通过 Settings.StartTime 设置 ID 时间字段的坐标原点。本文给出 v2 的配置写法,并按起始时间、机器号、生成结果三层排查创建失败和取不到 ID 的原因。398 收藏 -
围绕 sonyflake/v2 的 Settings 配置机器编号,说明 MachineID、CheckMachineID、位布局和扩容时的唯一性边界,帮助 Go 服务稳定生成分布式整数 ID。464 收藏 -
Go sonyflake 默认把编号拆成 39 位时间、8 位序列号和 16 位机器 ID。本文先用 v2 的 Decompose 与 ToTime 读取结构化字段,再用右移和掩码解释固定布局的手工拆解,并说明自定义位宽后为什么不能继续套用默认掩码。322 收藏 -
Go ksuid 可以生成带时间成分的 KSUID,并把它编码成 27 字符文本。本文用最小代码说明 NewRandom、String、Parse、Time、Timestamp 和 Payload 的使用边界。118 收藏 -
Go KSUID的完整二进制为20字节,区别于27字符Base62文本。本文给出固定记录保存与恢复函数,说明SQL默认值接口、短写、截断记录和旧数据迁移回退的处理方式。266 收藏 -
Go ksuid 解析 KSUID 后,Time() 适合得到可读的生成时间,Timestamp() 保留特殊纪元下的原始整数。本文说明两者的区别、错误处理和排序边界。491 收藏 -
使用Go oggvorbis读取Vorbis注释头,解析TITLE、ARTIST、ALBUM等曲目字段。示例保留重复值与完整文本,说明接口选择、缺失标签、文件资源及输入位置的处理边界。305 收藏 -
使用 Go oggvorbis 解码 OGG/Vorbis 文件时,先读取声道数,再按“目标帧数×声道数”分配 float32 缓冲区,把 Read 返回的交错样本值换算为完整音频帧后分批消费。319 收藏 -
用 Go oggvorbis 读取 OGG/Vorbis 音频的采样率和声道数,比较 GetFormat 与 NewReader 两条路径,并说明 GetLength、io.ReadSeeker、samples 和解码值数量的边界。149 收藏 -
Go flac 的 Stream.Seek 接收绝对采样编号并返回目标帧的首采样编号。本文说明怎样用 NewSeek 建立可定位流,再用 ParseNext 读取帧内内容,并处理 seek table、输入类型和范围错误。257 收藏 -
Go mewkiz/flac可通过ParseNext逐帧解码,再遍历Subframes与各声道Samples。本文给出原创同步消费函数,说明帧与采样计量、Next的区别、错误处理和文件关闭。168 收藏