Go问答技术文章
-
用 math/rand/v2 的 PCG 和两个 uint64 种子创建本地随机源,说明 Uint64 序列复现、并发实例边界和 MarshalBinary 状态恢复方法。355 收藏 -
Go 的 net.Resolver.Dial 只服务于 Go 内置 DNS 解析器;如果当前解析路径选择系统解析器,设置 Dial 也不会接管请求。本文说明 PreferGo、Dial 和实际调用对象之间的关系,并给出排障清单。355 收藏 -
os.RemoveAll 对不存在路径返回 nil 是设计好的幂等语义,但权限、路径竞态或部分删除失败仍会返回错误。本文用清理函数说明如何保留原始错误并正确处理回滚。355 收藏 -
Go bitset 的 NextSet 返回索引和布尔值两个结果。本文说明 found 的真实含义、正确遍历写法、空集边界,以及 Count 与 Len 的区别。355 收藏 -
Go regexp 中点号默认不匹配换行,是因为 s 标志默认关闭。本文用最小示例说明 (?s)、局部分组 (?s:...) 与 m 标志的区别,并整理 CRLF 和匹配范围边界。354 收藏 -
Kong 的 Bind 是解析器级依赖登记,Context.Run 的参数是本次命令执行的显式注入。本文用一个可复用的 Go CLI 示例比较两种方式的时机、作用域、接口绑定和选择边界。354 收藏 -
Go x/text/message 占位参数类型不匹配时,应检查实际翻译模板、参数索引和类型;通过类型封装与输入解析保持各语言模板约定一致。353 收藏 -
Gonum quad.Hermite 面向带 e^(-x²) 权函数的全实数积分。本文解释上下限、节点权重、函数闭包和标准正态期望变量变换之间的关系,帮助排查重复乘权和缩放因子遗漏。353 收藏 -
计算接近零的 e^x-1 时,直接写 math.Exp(x)-1 可能丢失有效数字。本文用一个小型增长率场景说明消减误差,再给出 math.Expm1 的用法、特殊值边界和选择清单。351 收藏 -
从 BitsSequence、BitsMachineID 和 TimeUnit 三个参数出发,计算 Go sonyflake 的单窗口容量、理论发号速率与生命周期,给出配置示例和参数取舍方法。351 收藏 -
Go range 遍历结构体切片时,第二个变量通常是当前元素的值副本,直接修改它不会回写原切片。本文用一个小型批处理示例说明原因,并比较按索引回写、指针遍历和只读副本的适用边界。351 收藏 -
Go 服务端收到 ClientHello 后,怎样用 tls.Config.GetConfigForClient 按 SNI 或 ALPN 选择配置?本文梳理回调参数、nil 与 error、配置不可变和会话恢复边界。349 收藏 -
Go Ticker 的 Stop 只停止后续 tick,不会关闭 C 通道,也不会自动清空调用方保存的旧指针或 channel。本文区分停止发送、关闭通道、解除引用和 GC 回收,给出可退出的接收循环与清理边界。349 收藏 -
Go TLS 默认使用主机根集合,显式空 RootCAs 池却不会自动合并系统根。通过客户端构造示例说明追加企业 CA、加载错误、容器证书环境与其他握手失败的区别。349 收藏 -
tar.Reader.Next 消费的通常不是目录自己的文件内容,而是当前条目未读数据和块填充,以便流位置落到下一个头部。本文解释目录、Header.Size、Typeflag、PAX/GNU 元数据和安全错误之间的关系,并给出安全遍历写法。348 收藏