-
Go compress/zlib.Reset 可以在保持压缩级别和字典配置的前提下切换输出写入器,适合批量处理多个独立数据块。本文说明 Close、Flush、Reset 的边界,以及 bytes.Buffer 结果复制与所有权管理方法。
-
Go io/fs.Sub 可以从已有 fs.FS 派生一个只看到指定子目录的新文件系统视图。本文用 fstest.MapFS 说明路径前缀、根目录、错误处理和 embed.FS 迁移时的实用边界。
-
Go filepath.Split 会在最后一个操作系统路径分隔符后拆出目录和文件名,并保留目录部分的分隔符。本文用一个小程序说明常见输入、末尾分隔符、连续分隔符,以及它和 filepath.Dir、filepath.Base 的区别。
-
围绕 os.UserCacheDir 讲清 Unix、macOS、Windows 和 Plan 9 的用户缓存根目录规则,以及 XDG_CACHE_HOME 错误边界、应用子目录创建和缓存读写处理。
-
Go os.Root 可以把文件操作限制在指定目录树内,避免服务入口只靠字符串拼接判断路径。本文用 OpenRoot、Root.Open 和 Root.OpenFile 说明读取、写入、符号链接、fs.FS 复用与平台边界。
-
Go 1.25 新增的 fs.ReadLink 用来读取虚拟文件系统中符号链接的目标字符串。本文用 fstest.MapFS 演示 ModeSymlink、ReadLinkFS、Lstat 和 ReadFile 的配合,并说明它与 os.Readlink 的适用边界。
-
Go sync/atomic.AndUint64 可以用一个按位 AND 原子更新 uint64 状态字。清除指定状态位时要传入反掩码,函数返回清除前的旧值;本文还说明 64 位对齐与 atomic.Uint64.And 的选择边界。
-
Go filepath.WalkDir 跳过目录应先判断目录类型,再直接返回 SkipDir。本文给出目录名和根相对路径两种排除写法,并说明文件过滤、根目录保留、读取错误、输出完整性和符号链接的处理边界。
-
Go encoding/gob 传输接口字段时,需要用 gob.Register 注册接口里实际出现的具体类型,并在解码侧完成对应注册。本文用一个包含接口字段的消息结构体说明注册、编码、解码和常见失败边界。
-
Go encoding/xml 的 Decoder.Skip 可以在已经读到目标 StartElement 后消费完整嵌套子树,让流式解析继续到下一个同级节点。本文说明调用前提、游标位置、错误处理,以及 Skip 与 DecodeElement 的取舍。
-
text/scanner.Scanner.IsIdentRune 通过字符和位置回调决定一个标识符能由哪些 rune 组成。本文从默认规则出发,说明如何用 i 区分首字符和后续字符,并处理空白、TokenText 与 Scanner 封装边界。
-
json.Marshal 调用自定义 Marshaler 失败时会包装为 MarshalerError。本文用一个可比较的底层错误演示 Unwrap、errors.Is 和 errors.As 的组合处理方式。
-
用 Go json.Valid 快速判断原始字节是否构成完整 JSON,并厘清它与 json.Unmarshal、json.Decoder 以及字段业务校验的职责边界。
-
Go csv.Reader.ReadAll 适合一次读取规模可控的 CSV。本文说明成功时的 nil 错误语义、io.EOF 边界、ParseError 定位方式,以及何时应改用逐条 Read。
-
介绍 Go log/slog.NewTextHandler 的文本输出方式,说明 Writer、HandlerOptions、最低级别、默认 Logger、字段分组和 ReplaceAttr 的实战用法。