Go语言技术文章
-
Go 1.27 工具链中的 waitgroupgo 更适合做 WaitGroup 代码现代化迁移。本文区分 go vet 检查与 go fix 差异预览,说明 Add、goroutine、Done 组合的修复顺序,以及闭包、错误处理、递归启动和旧工具链兼容边界。135 收藏 -
Redis Pub/Sub 适合在线订阅者都能即时收到、允许离线丢失的广播;Redis Streams 适合需要留痕、回放、消费组分工和确认的消息。本文从触发信号、持久化边界、故障处理和告警复盘给出选型方法。135 收藏 -
sync.Map.CompareAndDelete 可以在 key 的当前值仍等于旧值时删除映射项,适合处理并发缓存和临时索引清理。本文说明 bool 返回值、不可比较旧值、缺失键和与普通 Delete 的边界。135 收藏 -
Go x/net/http2/hpack.Decoder 的输入是压缩后的 HPACK 头部块,解压后的名称和值可能更长。本文说明 SetMaxStringLength 的限制对象、ErrStringLength 的处理方式,以及增量 Write 与 Close 的生命周期边界。135 收藏 -
两张9:16雨后温室蓝色蕨叶原创手机壁纸,提供清晨近景与暮蓝空间变体、完整中英文提示词、配色留白调整建议及无水印WebP下载。135 收藏 -
在 Go LDAP 查询中使用 EscapeFilter 转义用户输入,固定属性名与过滤器模板,并区分过滤器值、DN 和查询结果处理边界。135 收藏 -
go-message 写邮件时,附件 WriteCloser 与外层 Writer.Close 不是同一层职责。本文从 multipart/mixed、传输编码和 MIME 终止边界解释关闭顺序,并给出可处理写入与收尾错误的 Go 示例。135 收藏 -
解释Go snowflake修改Epoch后旧编号时间偏移的原因,区分Node生成状态与全局解码配置,并给出显式历史格式解码器和保留纪元、分版本迁移的方案。135 收藏 -
Go 的 encoding/csv 会按引号状态判断记录边界。本文用多行字段示例说明怎样保留引号内换行,并给出字段数检查、脏数据容错和大文件逐条读取的取舍。135 收藏 -
Go bufio.Scanner 默认按行切分,但日志块、消息片段或自定义文本记录往往需要自己的分隔符。本文从 SplitFunc 的返回值契约出发,给出处理半条记录、EOF、空记录、超长 token 和扫描错误的完整写法。135 收藏 -
TestMain 适合管理每个包只启动一次的昂贵资源,但不应承载单个用例的可变数据。本文用共享 httptest 服务演示包级生命周期、不可变入口、用例命名空间、t.Cleanup 与退出码处理,让并行测试共享资源而不互相污染。134 收藏 -
Go 1.27.2 于 2026 年 10 月 8 日发布,官方摘要同时列出 go 命令和多个标准库的安全修复,以及编译器、链接器、运行时、cover、go fix、vet 等 bug 修复。本文按修复范围、尝试步骤与回归风险整理升级判断。134 收藏 -
Redis AOF 重写期间延迟升高时,先用 INFO persistence 确认窗口,再结合 COW、fork、fsync 排队和延迟事件区分资源竞争与命令本身变慢。134 收藏 -
Laravel 配置缓存后修改 .env 不生效,通常与配置快照或长驻进程有关。本文用最小示例说明 env 与 config 的读取范围,以及开发、部署、队列和 Octane 的更新边界。134 收藏 -
Go 的 json.Decoder 可以从 io.Reader 连续读取多个顶层 JSON 值。本文区分单对象、空白分隔对象流和 JSON 数组,给出 EOF 边界、错误处理与可复用读取函数的设计方式。134 收藏