Go语言技术文章
-
Go net/http.Client 减少临时分配的关键不是盲目复用所有对象,而是复用 Client 和 Transport、缩短编码缓冲生命周期、正确关闭响应体,并用 benchmem 确认收益。215 收藏 -
Go pprof 端口不只是一个性能页面:/debug/pprof/ 可能返回命令行、栈信息和运行时 profile,CPU 与 trace 采集还会带来额外开销。本文说明暴露风险,并给出只监听本机、受控访问和发布前检查的方法。214 收藏 -
Golang · Go教程 | 6天前 | errgroup · 错误处理 · Context · 并发编程 · Go教程 · Go context 并发任务 errgroup WithContext
Go errgroup.WithContext 会在第一个任务返回非空错误时取消派生上下文,Wait 等待已启动的任务结束后返回第一个错误。本文用可取消的并发示例说明任务函数、结果通道、SetLimit 与退出顺序的写法。213 收藏 -
Golang · Go教程 | 4天前 | 标准库 · 错误处理 · go · IO · Go 流式处理 io.Reader io.Pipe CloseWithError PipeWriter PipeReader
Go io.Pipe 不会自动把生产端的业务错误变成读取端错误。本文用 CloseWithError 传递原始 error,说明读取端如何先处理已有字节、再区分生产错误与 EOF,并整理成功、失败和提前关闭的关闭约定。213 收藏 -
Go json.Encoder 默认会把 JSON 字符串中的 &, <, > 写成 Unicode 转义。本文说明 SetEscapeHTML(false) 的用法、HTML 安全边界,以及 Encoder、Marshal 和 HTMLEscape 的区别。213 收藏 -
Go 的 http.Redirect 不只是把请求送到新地址,code 参数还决定临时跳转、PRG 和原方法保持等语义。本文按调用方需求说明 301、302、303、307、308 的选择,并给出带中文注释的可复用处理器。213 收藏 -
Go TLS 服务端没有按 SNI 返回证书时,先检查 ClientHelloInfo.ServerName 是否存在、证书索引是否按规范化域名匹配,以及 GetCertificate 的回退优先级。本文给出带默认站点和错误诊断的最小配置。212 收藏 -
SystemCertPool 的跨系统差异来自系统信任、进程环境与 Go 版本,不能用 Subjects 数量直接判断可信范围。本文给出不联网的最小复现程序,固定证书链、名称、用途和时间,对照系统信任与显式根,并解释错误与生命周期限制。212 收藏 -
ResponseController 只负责控制 HTTP 响应,受限文件读取应交给 Go 1.24 的 os.OpenRoot。本文按一次 HTTP 文件接口故障复盘,给出安全读取、响应控制、错误处理与生命周期边界。211 收藏 -
Go go list -export -json 会为包提供 Export 绝对路径和 BuildID。本文说明如何把这两个字段交给构建分析器,并解释 -deps、-e、-find 与编译缓存路径的边界。211 收藏 -
Go token.FileSet.RemoveFile 后,原来的 Pos 区间不会再被 FileSet.File 或 FileSet.Position 找到,但保留的 *token.File 仍可用于文件级位置换算。本文拆开两层语义,并给出适合流式解析器的释放顺序。210 收藏 -
介绍 Go os/exec 中 Env 为 nil、继承后追加变量和白名单隔离三种写法,说明重复键、PATH、shell 与跨平台边界。209 收藏 -
Go sync.Cond 的 Signal 和 Broadcast 只是唤醒等待者,不能替代共享条件本身。本文用一个受 Mutex 保护的队列状态说明为什么 Wait 必须放在 for 条件循环中,以及如何在状态更新后选择 Signal 或 Broadcast,避免先检查后等待、误用 if 和忘记解锁。208 收藏 -
Go 1.22 起 archive/zip.Writer.AddFS 可以从 fs.FS 遍历目录并按原结构写入 ZIP。本文给出完整写法,说明 AddFS 与 Close 的错误处理,以及需要过滤文件或修改元数据时的取舍。208 收藏 -
Go 的 unicode.IsDigit 判断的是 Unicode 十进制数字字符。本文用 rune 遍历示例说明它与 ASCII 字节判断、strconv 数值解析和 unicode.IsNumber 的区别,帮助你处理多语言文本中的数字字符。208 收藏