Go教程技术文章
-
Go bytes.FieldsFunc 接收 rune 判定函数,按 UTF-8 字符边界切分 []byte,并自动丢弃连续、首尾分隔符产生的空片段。本文用中文和混合符号示例讲清它与 Split、复制策略的差异。139 收藏 -
Go netip.Prefix.AppendText 用于把 CIDR 文本直接追加到已有 []byte 缓冲区。本文说明它与 AppendTo、String 的关系,演示返回切片的正确接收方式,并处理 ParsePrefix 的错误边界与 API 取舍。139 收藏 -
通过完整 Go 示例讲解 Validator TagNameFunc 的注册与错误提取,区分 JSON 字段名、Go 字段名和嵌套路径,说明缓存时机及 json 忽略标签的处理方式。139 收藏 -
围绕 Go io.SectionReader.ReadAt 解释 n 与 err 的组合语义,说明局部偏移、区间末尾短读和 io.EOF 的正确处理方式,并给出不会丢弃部分数据的读取函数。139 收藏 -
Go 处理归档条目或抽象文件系统时,可以用 io/fs.ValidPath 先判断路径格式,再把合法名称交给 FS.Open 或 fs.ReadFile。本文用固定样例说明斜杠、根目录、空元素、点元素与文件存在性的边界。138 收藏 -
Go slog通过Group组织单条记录的局部字段,通过WithGroup派生模块Logger。结合导入任务示例说明公共根字段、绑定顺序、嵌套路径和查询取舍。138 收藏 -
Go Base64 标准编码与 URL 编码的区别在字符表,Raw 决定是否省略填充。本文对照四个编码对象,说明 URL 参数转义、存储约定、解码错误及规范文本处理边界。138 收藏 -
用 Go debug/elf.File.DWARF 从 ELF 文件取得 DWARF 数据,说明打开与关闭边界、调试信息缺失的处理,以及如何按条目读取编译单元和函数名。138 收藏 -
Go slog.Level.String 会把 DEBUG、INFO、WARN、ERROR 以及它们之间的数值级别转换成可读文本。本文说明自定义偏移、JSON 与文本配置复用规则,以及外部输入和审计记录的边界。138 收藏 -
Cobra 可以通过 Command.Args 在 RunE 执行前校验位置参数数量。本文用 RangeArgs 讲清闭区间约束,并对比最小、最大、固定数量校验器与 MatchAll 组合方式。138 收藏 -
使用 filepath.Rel 生成归档文件名时,应先确定 basePath 和 targPath,再处理返回错误与 ../ 结果,最后用 filepath.ToSlash 统一条目分隔符。本文给出可复用的小函数和跨平台边界。138 收藏 -
用 fs.Sub 与 fs.WalkDir 保留相对目录路径,给出 ListRelative 完整示例,区分空输入、空目录、不存在的根与中途访问错误,并保留可识别的错误链。138 收藏 -
本文围绕 Go strings.Cut 解析一次分隔符的场景,说明 before、after、found 三个返回值如何区分缺失分隔符、空值和带分隔符的值,并给出可复用的键值解析实现。138 收藏 -
Go log/slog 中,slog.Group 适合把一条记录的相关 Attr 收进命名组,Logger.WithGroup 适合为子系统建立持续字段路径。本文结合 TextHandler、JSONHandler、LogAttrs 和空组边界,说明如何组织 request、job 与模块日志字段。138 收藏 -
Go net/url 用 url.Values 保存重复查询键的多个值。本文说明 ParseQuery、Get、Add、Set、Del 和 Encode 的差异,帮助你在多选参数与唯一参数之间做出正确选择。137 收藏