Go语言技术文章
-
说明 go-smtp Data 写入器关闭的提交语义,区分内容传输、服务器接受和最终投递,提供正常关闭与异常弃用连接的 Go 示例。229 收藏 -
go-message 遇到未知字符集时仍可能返回可用的 Reader 或 Part。本文说明如何识别可恢复错误、继续遍历邮件,并为无法解码的正文保留安全降级路径。164 收藏 -
go-smtp 通过 SendMail 的 []string 或 Client 的多次 Rcpt 调用,把多个地址加入同一封邮件的 SMTP envelope。本文进一步区分 To、Cc、Bcc 头部与实际投递地址,并说明拒收和连接清理边界。296 收藏 -
go-message 的 mail.Header.Subject 会按邮件头的 MIME 编码规则解码主题。本文用一个可复用的读取骨架说明如何处理字符集注册、未知字符集错误、原始头保留和多段主题边界。309 收藏 -
Go go-imap 使用 FetchItemBodySection 描述邮件正文范围,从 FetchItemDataBodySection.Literal 读取分段内容;本文说明 MIME 部件、Partial 字节区间、FetchCommand 消费方式,以及如何交给 go-message/mail 解析正文和附件。442 收藏 -
解释 go-imap v2 FetchCommand 的流式消费、关闭收尾和错误处理,给出可靠 Go 示例及等待耗时、内存成本的比较方法。308 收藏 -
解释 Go Paho MQTT 的 WaitTimeout、Done 和 Error 如何协作,说明返回 false 只是等待超时而不是取消请求,并给出 WaitTokenTimeout 与业务取消的处理方式。393 收藏 -
Paho MQTT Go 要在 ClientOptions 上配置遗嘱消息,并在 Connect 前设置主题、载荷、QoS 与 retained。本文用运维场景说明配置、取舍、回滚和异常断线排查。292 收藏 -
区分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 收藏