Go语言技术文章
-
Fscan 把换行视为普通空白,可跨行读取参数;Fscanln 在换行处停止,并要求最后一个参数后紧接换行或 EOF。本文用同一输入说明选择与错误边界。100 收藏 -
Go 的 slog.HandlerOptions.ReplaceAttr 会在 TextHandler 或 JSONHandler 输出前接收每个非 Group 属性。把 groups 与 Key 组合成完整路径后,可以集中执行全量替换、局部掩码或返回零 Attr 删除字段,并用缺失断言验证敏感原文没有进入日志。100 收藏 -
Go 交叉编译在 CGO_ENABLED=1 时失败,通常不是 GOOS 或 GOARCH 写错,而是目标 C 编译器、sysroot 或原生库没有对齐。本文按基线、工具链、依赖和产物四层给出排查方法。100 收藏 -
Go netip.Addr.Compare 不是按字符串比较 IP,而是先按地址位数,再按地址内容排序。本文说明混合 IPv4、IPv6、区域 IPv6 和无效零值的顺序,并给出可直接用于 slices.SortFunc 的写法。100 收藏 -
本文用 Go io.Pipe 连接生产者与消费者,说明同步无缓冲读写、正常关闭、CloseWithError 错误传播、读端提前退出和适用边界。100 收藏 -
Go 的 url.Values.Encode 将查询参数中的空格编码为加号是正常的表单编码语义;本文用最小示例区分空格、字面加号和路径片段,给出解码回路与请求构造边界。100 收藏