Go教程技术文章
-
Go context.Err 负责返回统一的取消类别,context.Cause 用来读取更具体的取消原因。使用 WithCancelCause 时,Err 可能是 context.Canceled,而 Cause 可以返回业务错误。382 收藏 -
Go 的 gzip.Reader 默认会把拼接成员连续解压。若要逐个读取,先关闭 Multistream;每个成员读到 io.EOF 后调用 Reset,再次关闭 Multistream,并确保底层 Reader 实现 io.ByteReader。382 收藏 -
Go 堆快照要同时查看 inuse_space 与 alloc_space。本文用相近负载下的多次采样、GC 对齐和 pprof 差异报告,区分高频短命分配、稳定常驻集与持续增长的长期持有。382 收藏 -
用 Go fs.Sub 从 embed.FS 派生独立子文件系统,说明路径映射、HTTP 静态服务、目录缺失检查和安全边界。382 收藏 -
Go netip.Prefix.String 返回 CIDR 文本,但 PrefixFrom 可能保留主机位。本文说明 String、Masked、IsValid 与 MarshalText 的边界和实用写法。382 收藏 -
Go 使用 golang.org/x/text/currency 的 Kind.Rounding 查询货币显示规则,理解 scale 与 increment 两个返回值,并据此区分标准、现金和会计场景的调用策略。382 收藏 -
Go Cron 关闭时不要只调用 Stop 就退出进程。Stop 会停止新的调度,并返回一个 Context;等待它的 Done 通道,才能等正在执行的任务结束。本文再补上退出超时和任务主动取消的边界。382 收藏 -
Go netip.Addr.Prev 返回当前 IP 之前的地址,并在地址空间边界返回零值。本文说明如何解析输入、区分 Addr{} 与 0.0.0.0/::、遍历 IPv4/IPv6 地址,以及处理带 zone 的 IPv6 地址。382 收藏 -
Go 1.24 同时提供 runtime.AddCleanup 和 os.Root。本文用一个可显式关闭的读取器,把文件名限制在指定根目录内,并说明 GC 清理兜底、KeepAlive、Stop 与错误处理边界。382 收藏 -
Go 的 Request.Cookies 会返回同名 Cookie 的全部值。本文用一个带重复购物车标记的请求,说明如何保留顺序、筛选目标名称,并避免把单值读取误当成完整结果。381 收藏 -
用 Go flag.VisitAll 遍历命令行参数,生成包含默认值、当前值和脱敏结果的配置清单,避免日志暴露密钥并保留可复核的覆盖信息。381 收藏 -
Go 中使用 filepath.EvalSymlinks 沿路径解析符号链接,得到当前文件系统中的实际目标路径;同时处理相对路径、断链、循环链接、权限错误以及解析后的访问边界。381 收藏 -
用一个批量读取任务的例子,拆解 errgroup.WithContext、首个错误取消和 Wait 收尾之间的关系,并说明为什么子任务必须主动消费 ctx.Done。381 收藏 -
本文介绍 Go atomic.Int64 的声明、初始化、Add 递增、Load 读取和 Store 重置,说明并发计数中的复制限制与复合判断边界。381 收藏 -
读取 pkg.go.dev 包文档索引要组合两个 v1 端点:package 端点通过 doc=md 返回文档正文,symbols 端点返回结构化符号;还需处理 nextPageToken、module 歧义和版本固定。381 收藏