Go问答技术文章
-
解释Gonum Poisson的Lambda为何是固定窗口平均次数,通过速率换算和理论概率对比区分成功概率,并说明二项分布、样本估计与零均值边界。341 收藏 -
Go x/text/encoding/unicode 解码 UTF-16 时,代理项只是代码单元,必须由高代理项和低代理项配对才能还原补充平面字符。本文说明孤立代理项为何变成 U+FFFD,以及字节序、BOM 和流式 ErrShortSrc 的排查方法。339 收藏 -
Go http.Client.Timeout 不只限制建立连接,还覆盖重定向和响应体读取;本文从响应头已返回但 Body 仍超时的现象出发,给出整体超时与请求级超时的排查写法。338 收藏 -
Go unicode.IsMark 判断的是单个 rune 是否属于 Unicode 的 Mark 类别 M,包含非间距、间距组合和包围标记。本文用具体字符串拆开预组字符与组合序列,说明如何按 rune 分类、如何解释字节偏移,以及为什么 IsMark 不能代替正规化或用户感知字符切分。337 收藏 -
Go roaring 的 Rank 用于统计小于等于目标值的元素数量,Select 用于按 0 起始序号取出有序集合中的元素。本文用 Go 示例说明两者的下标约定、分页用途和空集合、越界、并发访问边界。337 收藏 -
Go x/text/unicode/norm 的 NFKC 会先做兼容分解,再做规范组合,因此全角、带圈数字、上标和连字等字符可能改变外观。本文说明变化原因、Go 写法与不应使用 NFKC 的语义边界。336 收藏 -
go-runewidth 的歧义宽度字符并不都会随东亚宽度策略变成两列。本文解释 EastAsianWidth、Condition、IsAmbiguousWidth 与 RuneWidth 的差异,并给出固定终端表格对齐口径的 Go 写法。335 收藏 -
go-colorful 在 HCL 空间混色时可能得到无法由 RGB 表示的颜色。本文用 IsValid 判断结果,再用 Clamped 处理显示路径,并说明错误范围与直接调用 RGB255 的常见问题。335 收藏 -
gopacket 的 Lazy 控制解码时机,NoCopy 控制输入复制。结合缓冲区复用、按需取层和异步交付示例,说明四种配置及所有权、并发边界。335 收藏 -
io.LimitReader 读到上限后返回 EOF 是设计出来的正常结束信号,不是超限报错。本文从 Reader 契约出发,说明如何用 limit+1 的策略识别输入是否真的超过上限,并比较 LimitReader、ReadFull 与 ReadAtLeast 的适用边界。334 收藏 -
Go 的 encoding/json 解码到 *T 时,字段缺省和显式 null 都可能得到 nil,单靠指针无法区分。本文用 RawMessage 和泛型 Optional 保存字段是否出现、是否为 null 以及实际值,帮助接口更新和默认值处理避免语义丢失。334 收藏 -
gojq 能保持大整数精度并进行任意精度整数计算;如果先转成 float64,超过 2^53 的整数可能被舍入。本文给出判断、处理和排查清单。334 收藏 -
Go log/slog 的 ReplaceAttr 可以在属性写入前按字段名和分组路径做遮盖或删除。本文用一个可复用的脱敏函数说明 HandlerOptions 配置、零值 Attr 语义和实际边界。334 收藏 -
Go Protocompile 的 Compiler.Compile 接收 context.Context。本文用多文件 proto 示例说明怎样把请求取消或超时传入编译流程,用 errors.Is 区分 context.Canceled、context.DeadlineExceeded 与普通编译错误,并处理未完成结果。333 收藏 -
Go CEL 求值时,unknown 表示输入尚未确定,运行错误表示当前表达式已经产生错误。本文用 Eval 返回值和 PartialVars 说明两者的处理边界。332 收藏