Go语言技术文章
-
围绕 io/fs.ValidPath 说明 FS.Open 名称的相对路径规则、根路径语义、斜杠边界和自定义文件系统的入口检查方式。488 收藏 -
区分f.Add种子、testdata文件语料与fuzz探索缓存,说明目标目录、包路径、单样本过滤及输入类型匹配,并用边界错误示例解释如何建立稳定回归。487 收藏 -
Go 使用 golang.org/x/text/encoding/simplifiedchinese 处理 GB18030 四字节字符,关键是用 GB18030 的 Decoder 与 Encoder 在 UTF-8 和旧编码字节之间转换,并区分解码替换字符与编码不可表示错误。487 收藏 -
解释 Go fsnotify 的 Rename 事件为什么不能直接等同于删除,并用父目录监听、Event.Name 过滤、os.Stat 复查和短暂去抖处理编辑器原子保存。487 收藏 -
Go go-chart 的图例文字来自序列的 Name 字段。本文用多个 ContinuousSeries 组成 Chart.Series,再把 chart.Legend 加入 Chart.Elements,说明 Legend、LegendLeft、LegendThin 的选择,以及 PNG 或 SVG 渲染时常见的空图例问题。487 收藏 -
Go 的 os.Root 可以把文件访问限制在一个目录树内。本文从 os.OpenRoot 和 Root.Open 的最小写法出发,说明 ..、符号链接、Root.FS 与 OpenInRoot 的边界,避免把路径清理误当成安全限制。486 收藏 -
先打开一个可复用的 os.Root,再用相对路径调用 Root.OpenFile;文章说明返回文件句柄的使用方式,以及 Root 与 *os.File 的关闭边界。486 收藏 -
Go strings.FieldsSeq 返回按 Unicode 空白分隔的字符串迭代器。本文用最小示例说明怎样逐个读取字段、提前停止和处理空输入,并解释它与 strings.Fields 的版本与内存边界。486 收藏 -
区分系统信任扩展与私有证书池,展示PEM加载、RootCAs及专用HTTP客户端绑定,定位主机名、证书链、有效期和容器环境导致的TLS失败。486 收藏 -
Go 1.24 起可以用 os.Root 把文件操作限制在指定目录树内。本文用 Root.Remove 删除根目录内文件和空目录,并说明相对路径、越界路径、非空目录与 Root 生命周期的错误边界。485 收藏 -
Go encoding/csv 的 Write 会先把记录写入内部缓冲,Flush 才把缓冲交给底层 io.Writer。本文说明 Writer.Error 为什么必须在 Flush 后检查,怎样区分 Write 的即时错误、Flush 的延迟错误和 WriteAll 的返回值。485 收藏 -
Go 服务可以用 x/text/language 的 ParseAcceptLanguage 读取 Accept-Language 头,把语言标签和 q 权重交给 Matcher 选择支持的语言。本文覆盖返回值、排序、错误和回退处理。485 收藏 -
Go JetStream 的分批消费要先区分一次性 Fetch 与持续拉取的 Messages、Consume。本文用 nats.go 说明消息数、字节数、确认、批次错误和消费生命周期的处理方式。485 收藏 -
解释 Gonum LogProb 如何将独立样本似然连乘转为累加,避免小值乘积下溢,并给出正态评分代码、批次汇总及概率密度与混合模型边界。485 收藏 -
Go 1.27 的 go fix 新增 slicesbackward modernizer,可把符合条件的手写切片反向循环迁移到 slices.Backward。本文说明如何预览变更、何时保留索引变量,以及生成文件和构建标签带来的边界。484 收藏