Go语言技术文章
-
区分JetStream有序读取与共享任务责任,说明durable pull consumer、显式确认、背压配置和业务幂等,并提供Go批次消费示例。420 收藏 -
Go JetStream 发布返回 PubAck 后,Duplicate=true 表示服务端按消息标识识别为重复发布,不等于消费端已经确认。本文用 nats.go 说明 WithMsgID、Stream、Sequence 和错误分支的实际边界。329 收藏 -
Go NATS 客户端退出时,Drain 会先让订阅进入排水状态、停止继续接收新的发布,再在收尾后关闭连接;Close 则直接关闭连接并释放阻塞调用。本文用故障复盘场景拆解两者边界、超时配置和选择方法。166 收藏 -
Go NATS 请求可以直接传入 time.Duration,也可以使用带 deadline 的 context.WithTimeout 调用 RequestWithContext。本文用一个请求响应场景说明两种写法、错误分支与上下文清理边界。246 收藏 -
说明go-diff的DiffTimeout为何同时影响搜索期限与half-match启发式,并通过比较示例区分文本重建、编辑量、可读性和调用耗时。319 收藏 -
go-diff 的 []Diff 适合在内存中查看,但传输或落库时可以用 DiffToDelta 编成紧凑文本。本文说明 delta 的三类 token、原文基准、Unicode 字符计数,以及如何还原并判断这种存储是否真的节省空间。304 收藏 -
解释 go-pretty Pager 的 PageSize 与实际数据行数、渲染行数和页数的区别,给出展示分页与业务分页的选择方法。434 收藏 -
使用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教程 | 9小时前 | 字符串 · 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 收藏