-
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 的实战用法。
-
Go hex.Dumper 适合把分块到达的二进制数据持续格式化为 hexdump 文本。本文对比 hex.Dump,演示接入 io.Writer、处理 Read/Write 错误、正确 Close,并说明输出体积和生产环境边界。
-
Go strconv.FormatBool 可以把 bool 稳定转换成 true 或 false 文本。本文从最小写法出发,说明它与 fmt 通用格式化、ParseBool 和 JSON 序列化的边界,帮助你在日志、键值字段和文本接口中选对转换方式。
-
Go strconv.QuoteToASCII 会返回带双引号的 Go 字符串表示,并把非 ASCII 字符转换为 Unicode 转义。本文说明它在日志和传输边界中的用法,比较 Quote、QuoteToGraphic 与 Unquote 的职责,并强调它不能替代 JSON、URL 等协议编码。
-
Go 的 strconv 转换失败会返回 *strconv.NumError。本文用 errors.Is 区分 ErrSyntax 与 ErrRange,再用 errors.As 读取 Func、Num 和 Err,说明如何在接口或配置入口保留错误原因。