Go语言技术文章
-
使用go-pretty ColumnConfig.WidthMax限制长文本列,通过完整示例说明列号定位、WrapText包装、整表宽度与常见配置误区。416 收藏 -
Go go-runewidth 会把组合字符按零宽码点处理,再在 StringWidth 中结合 grapheme cluster 计算终端单元格宽度。本文说明 RuneWidth、IsCombiningWidth、StringWidth 与 Condition 的配合方式。348 收藏 -
Go 终端表格不能按字节长度补空格。本文用 go-runewidth.StringWidth 计算显示单元格,再用 FillRight 和 FillLeft 对齐中英文混合字段,并说明截断、emoji 与 EastAsianWidth 的边界。308 收藏 -
解释 Go uniseg 的 StepString 为什么要把 newState 传回下一次调用,区分 state、rest 与 boundaries,并给出连续分段和常见错误的简洁示例。414 收藏 -
Golang · Go教程 | 2天前 | 字符串 · unicode · Go教程 · Go unicode 单词边界 文本分段 uniseg FirstWordInString Graphemes
Go uniseg 按 Unicode Standard Annex #29 提供单词边界切分能力。本文用 FirstWordInString 连续提取文本片段,说明 state 与 rest 的配合、标点和空格的边界表现,以及什么时候应该改用 Graphemes 迭代器。192 收藏 -
解释go-i18n多个语言偏好参数、Accept-Language权重与消息回退的不同作用,使用LocalizeWithTag观察文本、实际语言及错误。266 收藏 -
Go go-i18n 可以通过 LoadMessageFileFS 读取 go:embed 提供的 embed.FS。本文用一个小型命令行示例说明 JSON 消息文件命名、Bundle 初始化、语言偏好匹配和文件路径排错。172 收藏 -
解释 Go jsonschema 中 format 注解与断言的区别,示范显式草案、AssertFormat、自定义格式注册、错误记录与上线检查。188 收藏 -
gojq 能保持大整数精度并进行任意精度整数计算;如果先转成 float64,超过 2^53 的整数可能被舍入。本文给出判断、处理和排查清单。334 收藏 -
Golang · Go教程 | 2天前 | JSON · 错误处理 · 数据校验 · Go教程 · Go 嵌套错误 JSONSchema JSON Schema ValidationError 校验错误 JSON Pointer
Go jsonschema/v5 校验失败时,ValidationError 会用 Causes 保留嵌套原因,并提供实例路径、关键字路径和错误消息。本文用递归展开器把错误树整理成前端和日志可直接消费的字段错误列表,同时说明 DetailedOutput、BasicOutput、数组索引和组合关键字的处理方式。357 收藏 -
使用WithVariables声明外部变量,并在Code.Run中按顺序传值,结合过滤示例说明输入对象、变量类型、迭代错误和结果容器。258 收藏 -
Go go-flags 使用 *int 字段可以区分未传参数与显式传入 0:未传时指针为 nil,传入 0 时指针非空但目标值为 0;带 default 标签时再结合 IsSet 和 IsSetDefault 判断值的来源。415 收藏 -
用 Gonum 的 WeightedDirectedGraph 保存正权边,再通过 DijkstraFrom 和 Shortest.To 查询单源最短路径、累计权重,并说明不可达节点、负权边和 DijkstraFromTo 的选择边界。497 收藏 -
go-flags 可以把 INI section 和键值映射到命令参数结构体。本文从 ini-name 标签、IniParser、ParseAsDefaults、命令行覆盖和 IniError 讲清配置加载的完整写法。149 收藏 -
解释Kong passthrough为何停止继续解析后续标志,使用命令级透传示例区分外层配置、下游参数以及argv与shell原文。284 收藏