Go教程技术文章
-
Go 标准库 encoding/base64 的 AppendEncode 可以把编码结果直接追加到已有字节切片。本文按完整工作流解释容量预留、返回切片、URL-safe 编码和多段追加的边界。295 收藏 -
Go net/url 的 URL.JoinPath 适合把已有 URL 与多个路径片段组合,并统一清理多余斜杠、. 和 ..。本文说明路径片段转义、查询参数保留和与 ResolveReference 的边界。225 收藏 -
Go 1.27 的 go fix atomictypes 可以把 sync/atomic 原始函数迁移为强类型原子包装器。本文从预览命令、访问边界、版本前提和人工复查说明这项现代化应该怎样安全落地。492 收藏 -
脚本读取 go.mod 时,不要先写正则拆文本。本文用 go mod edit -json 拿到结构化内容,说明字段范围、单文件边界、脚本消费方式和 Go 工具的错误处理。171 收藏 -
Go netip.Prefix.AppendText 用于把 CIDR 文本直接追加到已有 []byte 缓冲区。本文说明它与 AppendTo、String 的关系,演示返回切片的正确接收方式,并处理 ParsePrefix 的错误边界与 API 取舍。139 收藏 -
Go crypto/x509 CertPool.AddCertWithConstraint 可以把自定义约束绑定到某个根证书。本文用租户域名场景说明如何读取 Verify 传入的整条证书链、拒绝不符合范围的链,并处理回调并发与验证边界。371 收藏 -
Go encoding/csv Reader.ReuseRecord 可以让流式读取复用记录切片,减少短生命周期分配。本文解释默认行为、只读当前行的低分配写法,以及保存记录时为什么必须复制切片。386 收藏 -
Go io.WriteString 可以把字符串写入任意 io.Writer,并在目标实现 StringWriter 时直接走字符串写入方法。本文用迁移示例说明调用分派、n 与 error 的处理以及文件、缓冲区和 HTTP 响应的使用边界。286 收藏 -
Go go tool nm 可以列出目标文件、归档或可执行文件中的符号。本文解释地址、类型、名称三列输出,并用排序、类型参数和命令行过滤快速定位目标函数。264 收藏 -
Go 1.24 新增的 time.Time.AppendText 会把时间按带子秒精度的 RFC3339 格式追加到已有字节切片。本文说明返回值、错误处理、时区边界和旧版本替代方式。349 收藏 -
Go encoding/hex.AppendEncode 会把字节编码为十六进制文本并追加到已有切片。本文从目标切片容量、返回值、空输入和 API 选择几个边界说明如何稳定复用缓冲区。289 收藏 -
Go embed 可以在编译期把静态文件放进程序,embed.FS 再通过标准 fs.FS 接口按路径读取。本文比较 string、[]byte 与 embed.FS 的适用场景,并给出模板和静态资源读取方式。363 收藏 -
Go 1.27 为多个底层工具加入 @file response file 解析。本文用 go tool compile 的最小示例说明参数文件的支持范围、空白与引号规则、版本边界,以及为什么它不是 go build 的通用参数替代品。113 收藏 -
Go text/template 的 break 只能结束最内层 range。本文用一个紧凑示例说明如何在命中条件后停止模板输出,并区分 break、continue、else 与嵌套 range 的控制边界。342 收藏 -
Go archive/zip 的 Reader.Open 可以按 fs.FS 的路径语义直接打开 ZIP 成员。本文说明如何使用斜杠路径读取指定文件、关闭返回的 fs.File,并处理成员不存在、前导斜杠、父目录和遍历元数据等边界。412 收藏