Go教程技术文章
-
通过NewBuiltin与预声明环境向Starlark脚本注册Go宿主函数,说明参数解析、返回值、错误处理与性能测量口径。327 收藏 -
用 Hamba Avro 把 Go 结构体编码成 Avro record 时,核心是让 schema 字段、avro 标签和 Go 类型一一对应。本文分别说明 avro.Marshal、NewEncoder、字段类型映射和最小回读方式。235 收藏 -
go-vcard 的 Decoder 每次 Decode 只返回一张 Card。本文用文件流循环读取多张 vCard,说明 io.EOF 的结束判断、解析错误处理和字段读取边界。361 收藏 -
Go go-smtp 可以通过 DialStartTLS 把已有的 SMTP 主机连接升级为 TLS,再在同一个 Client 上完成认证和发信。本文说明 tls.Config、587 与 465 端口、已有 net.Conn 以及关闭连接时的边界。311 收藏 -
用go-message/mail的NextPart识别附件并逐个保存,示例涵盖流式复制、独立文件名、大小与数量限制,以及页面如何呈现部分成功和失败结果。369 收藏 -
用 go-imap v2 的 UIDSearch 配合 SearchCriteria.Since 按日期筛选邮件,理解日期边界、UID 返回值和后续 Fetch 的衔接方式。465 收藏 -
通过SubscribeMultiple为多个主题过滤器分别指定QoS,示例说明Token等待、逐项授权返回码、超时不确定性,以及权限、重连与共享回调的职责安排。278 收藏 -
Go JetStream 的分批消费要先区分一次性 Fetch 与持续拉取的 Messages、Consume。本文用 nats.go 说明消息数、字节数、确认、批次错误和消费生命周期的处理方式。485 收藏 -
Go NATS 客户端要让多个订阅者分担同一主题消息,应使用 QueueSubscribe 并让主题和队列组名完全一致。本文区分普通订阅、队列组与 JetStream 的边界,说明重复消费和可靠性误判的排查方法。311 收藏 -
用 Go 的 go-diff/diffmatchpatch 从旧文本和新文本生成可保存的补丁,接收端解析后应用到基线文本,并正确处理逐项失败结果。394 收藏 -
go-pretty/table 用 SortBy 接收多个排序规则,前面的规则优先,只有当前列相等时才比较下一列。本文从状态、优先级、更新时间的真实场景出发,说明列名与列号、数字与文本模式、忽略大小写和 CustomLess 的组合方式。192 收藏 -
Go 终端表格混排中文和英文时,不能用字节数或 rune 数量代替显示列宽。本文用 go-runewidth.Truncate 按单元格宽度截断,并说明尾标记预算、StringWidth、Wrap 与 Condition 的使用边界。410 收藏 -
用组合字符昵称场景讲解Go uniseg字素簇遍历,通过Next、Str和Positions保留完整组合序列,并实现前缀截取,区分字节、rune、宽度与规范化。383 收藏 -
Go 使用 go-i18n 做本地化时,可以把数量放进 LocalizeConfig.PluralCount,让 Localizer 按语言规则选择 One、Other 等复数模板;本文说明 Message、TemplateData 与迁移回归边界。208 收藏 -
gojq 可在循环外解析并编译查询,循环内复用 Code,为每个 JSON 对象创建独立迭代器。本文给出完整 Go 示例,并说明多结果、运行错误及批处理集成的边界。440 收藏