Go教程技术文章
-
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 收藏 -
围绕 Go strings.Builder 的 Len、Cap 与 Grow,说明如何按 UTF-8 字节数预估容量、减少可预见的重复扩容,并处理动态字段、负数 Grow 与 Builder 复制边界。273 收藏 -
Go 1.27 扩展了泛型函数的上下文推导:当赋值目标是明确的非泛型函数类型时,可以从目标签名推导类型参数。本文用函数赋值、切片字面量、类型转换和通道发送说明可推导边界。392 收藏 -
Go encoding/binary.Append 能把固定大小的数据按指定字节序追加到已有 []byte,并返回新的切片与错误。本文说明返回值、容量复用、ByteOrder 以及 AppendUvarint 的选择边界。418 收藏 -
Go encoding/csv 的 Reader.FieldPos 可以把最近一次 Read 返回的字段映射回原始 CSV 的行列位置。本文用多行引号字段说明调用时机、1-based 坐标、字节列号和常见误区。364 收藏 -
本文围绕 Go hash/maphash Seed 说明初始化、独立使用、多个 Hash 复用、并发边界与进程生命周期,帮助读者避开零 Seed、跨进程持久化和密码学误用。208 收藏 -
Go bytes.SplitSeq 返回 iter.Seq[[]byte],适合按分隔符逐段消费并在满足条件后提前停止。本文说明它与 bytes.Split 的差异、空分隔符和字节片段生命周期边界。462 收藏 -
Go 1.27 允许结构体字面量直接使用有效的 promoted field selector 初始化非指针嵌入字段。本文用最小示例说明版本、指针嵌入、字段遮蔽和混用键的边界。491 收藏 -
Go io.SectionReader.Outer 可以取回创建读取窗口时的底层 ReaderAt、起始偏移和长度。本文结合 Read、ReadAt、Seek 与 Size 说明它的职责边界和版本兼容取舍。429 收藏 -
Go 1.27 支持在方法声明中使用类型参数。本文从接收者、调用推导和接口限制三个边界说明 generic method 怎样复用类型参数,并给出适合工程代码的设计方式。393 收藏 -
Go runtime/metrics 的直方图判断应看 Description.Kind,而不是猜测指标名称。本文说明如何从 All 建立描述符索引,安全读取 KindFloat64Histogram,并正确理解 Buckets 与 Counts 的关系。404 收藏 -
Go 的 os.Root 可以把文件访问限制在一个目录树内。本文从 os.OpenRoot 和 Root.Open 的最小写法出发,说明 ..、符号链接、Root.FS 与 OpenInRoot 的边界,避免把路径清理误当成安全限制。486 收藏 -
Go 1.27 可通过 tls.Config.CurvePreferences 显式加入 tls.MLKEM1024;列表是支持集合,不能替代双方能力协商。311 收藏