Go问答技术文章
-
Go Paho MQTT 中,Publish 的 retained 参数会让 broker 保存主题的最后一条消息,并在匹配的新订阅建立时回放。本文区分保留消息与 CleanSession=false 的持久会话恢复,演示如何读取 Retained 标记、处理提前到达的消息,以及清理过期状态。372 收藏 -
Go url.URL 的 Fragment 面向解码后的语义,RawFragment 只是可选的原始编码提示。本文说明如何用 EscapedFragment 和 String 保留片段中的百分号编码,分析直接拼接与直接改写 RawFragment 的边界,并给出解析、读取、修改和输出检查清单。370 收藏 -
go-shp 写入 Shapefile 时,Write 完成并不等于文件完整。本文说明 Close 如何收尾 SHP、SHX、DBF 头部,并给出字段、几何、属性与交付边界的写法。369 收藏 -
go-i18n 找不到目标语言的 MessageID 时,会先尝试 Bundle 的默认语言;如果仍没有消息,再使用 LocalizeConfig.DefaultMessage。本文梳理 Localize 的回退链、错误处理以及 MustLocalize 和复数 Other 的边界。368 收藏 -
Go fitsio 的 File.Close 只释放 FITS 层资源,不会关闭底层 io.Reader 或 io.Writer。本文拆开 os.File、fitsio.File 与 Rows 的责任,给出读取和创建 FITS 文件时的安全关闭写法。368 收藏 -
Go 程序在本地、容器和精简系统中出现时区差异时,不要直接依赖 time.Local。本文用 time.LoadLocation、ZONEINFO、time/tzdata 和启动自检建立一套可排查的部署处理方案。367 收藏 -
Go bidirule 的流式检查必须在标签结束后确认结尾约束。文章说明 atEOF、Close 错误及跨块状态,并给出暂存输出后再交付的完整写法。366 收藏 -
Go go-echarts的普通时间坐标轴用于定位数据点,ECharts timeline用于切换多份图表快照。本文用Go示例和原生配置区分两者,并说明版本封装、时间单位与集成边界。366 收藏 -
Go x/text/number 的 Scale 和 IncrementString 只改变数字的格式化结果,不会回写原始变量。本文用对照示例说明显示舍入、业务计算和输出边界应该怎样分开。365 收藏 -
区分 go-pretty 行列 AutoMerge 的作用范围,用最小 Go 示例说明重复内容的展示合并,并解释分组可读性、格式化文本及 CSV、Markdown 输出的边界。365 收藏 -
用 Go netip.ParseAddr 解析带接口作用域的 IPv6 地址,读取 Addr.Zone,并掌握 WithZone、As16 与 Prefix.Contains 的边界。363 收藏 -
Go 处理大文件时,Scanner 和 Reader 都能流式读取,但选择依据不是文件总大小,而是单条记录长度、分隔符语义和错误控制需求。本文给出 Scanner.Buffer、Reader.ReadString 及 EOF 处理的落地判断。363 收藏 -
Squirrel 的 SelectBuilder 采用不可变 builder 语义,Where、OrderBy 等方法返回新值。本文说明为什么必须接收链式返回值,并给出基础查询、状态条件和排序分页的复用写法。363 收藏 -
Go JetStream 的 Ack 发送确认但不等待服务端回复,DoubleAck 会等待回复。通过处理函数与两张结构图,说明确认返回值、超时状态、业务幂等及方法选择。361 收藏 -
Go archive/zip 遇到非内置压缩方法时,可以在 Reader 上注册自定义 Decompressor。本文说明方法编号映射、io.ReadCloser 返回值、File.Open 选择解压器以及校验和和并发资源边界。359 收藏