Go教程技术文章
-
本文用一个目录摘要工具串起 filepath.WalkDir 的输入边界、目录过滤、普通文件统计、遍历错误和大文件排序,帮助你把标准库 API 组合成可维护的 Go 命令行程序。354 收藏 -
先处理 WalkDir 回调错误再访问目录条目,用完整只读统计工具区分根失败、子目录权限遗漏和主动排除,并解释 SkipDir、部分结果与退出状态。130 收藏 -
filepath.Rel 只按路径字符串计算相对关系,不会替你解析符号链接。本文用 Go 标准库演示先统一解析根目录与目标路径,再计算相对路径,并拆开解析失败、路径不兼容和目标尚不存在等边界。193 收藏 -
filepath.WalkDir 不提供 Root 参数。本文说明怎样将严格根目录遍历迁移到 fs.WalkDir(root.FS()),给出有限读取、文件关闭和摘要计算示例,并解释平台及资源边界。154 收藏 -
filepath.WalkDir 不会替业务自动定义目录边界。本文从根路径检查、回调错误、DirEntry 类型判断和 SkipDir 语义入手,说明怎样写出可控的目录遍历入口,并补充符号链接、操作系统分隔符和文件根节点等边界。287 收藏 -
filepath.Rel 只计算 basePath 与 targPath 的词法相对关系,不会自动阻止目标路径越出根目录。本文用 Go 示例说明如何处理返回错误、判断 .. 或 ../ 越界结果,并解释 Clean 与符号链接带来的边界。243 收藏 -
filepath.Rel 负责按当前系统规则计算相对路径,filepath.ToSlash 负责把成功结果转换成统一的 / 表示。本文用原创示例说明错误处理、输出格式和 .. 边界。381 收藏 -
使用 filepath.Rel 生成归档文件名时,应先确定 basePath 和 targPath,再处理返回错误与 ../ 结果,最后用 filepath.ToSlash 统一条目分隔符。本文给出可复用的小函数和跨平台边界。138 收藏 -
Go encoding/csv.Reader 会自动忽略真正的空行,但只含空格的记录仍可能被读出。本文用一个可调整的空记录判断函数区分空行、空字段和有效记录,并处理 EOF、解析错误与可变字段数。303 收藏 -
Go 的 io/fs.ValidPath 没有 nil 参数,所谓空值通常是空字符串。本文梳理空字符串、.、首尾斜杠、. 与 .. 元素、非法 UTF-8 的判断结果,并用小函数把语法错误和文件不存在分开处理。459 收藏 -
通过一个原始名称检查 CLI,说明怎样组合 fs.ValidPath、应用命名政策和 fs.Stat,区分格式、不存在及权限问题,并解释路径清理与目录访问的边界。147 收藏 -
在 Go 的 io/fs 接口前判断路径是否合规,重点说明 ValidPath 对 slash 分隔、未根路径、点段、空元素和根目录 . 的边界,并给出可直接复用的入口函数。187 收藏 -
io/fs.ValidPath 只接收 string,不能直接复用调用方的 []byte。动态路径应复用 []byte scratch,完成一次受控的 string 转换后再校验,并注意临时字符串的生命周期、容量和并发隔离。419 收藏 -
Go 的 io/fs.ValidPath 只接受不带根的斜杠路径。本文用 os.DirFS 建立受限根目录,先校验文件名再用 fs.ReadFile 读取,并说明 ..、符号链接、权限和运行身份的边界。467 收藏 -
用一个小型 docpeek 工具说明如何把本地目录包装成 fs.FS,组合 fs.ReadDir 与 fs.ReadFile,并处理 fs.ValidPath、相对路径和符号链接边界。114 收藏