Go教程技术文章
-
通过 app 与 labelkit 原创示例说明 Go workspace 的 use、模块路径与工作区发现规则,并区分 replace、go work sync 和独立发布依赖,避免本地联调成功掩盖 go.mod 缺口。211 收藏 -
Go jsontext.Encoder.WriteToken 适合按 token 增量构造合法 JSON。本文用对象、数组和字段值示例说明调用顺序、语法错误边界,以及 WriteToken 与 WriteValue 的选择。211 收藏 -
Go Humanize 的 ParseBytes 可以把 42 MB、42 mib 等用户输入解析为字节数。本文说明十进制与二进制单位的差异、非法输入和 uint64 溢出处理,以及何时改用 ParseBigBytes。211 收藏 -
以Go roaring v1.9.4演示AddRange加入连续整数,说明半开区间、重叠去重、uint32最大值端点与闭区间转换,并提供外部范围检查封装及小集合实验。211 收藏 -
ResponseController 只负责控制 HTTP 响应,受限文件读取应交给 Go 1.24 的 os.OpenRoot。本文按一次 HTTP 文件接口故障复盘,给出安全读取、响应控制、错误处理与生命周期边界。211 收藏 -
Go go list -export -json 会为包提供 Export 绝对路径和 BuildID。本文说明如何把这两个字段交给构建分析器,并解释 -deps、-e、-find 与编译缓存路径的边界。211 收藏 -
解释 go/printer.Config.Fprint 如何集中控制 Mode、Tabwidth 和 Indent,并区分自定义源码输出与 gofmt 风格格式化的边界。211 收藏 -
处理 multipart/form-data 时,不必把上传文件全部读入内存。本文用 NextPart 与 NextRawPart 展示如何按字段读取、跳过文件内容,并说明文件名解码和边界错误的判断方法。210 收藏 -
用 testing.F 和 f.Add 写 Go fuzz 测试时,随机字节并不会自动符合业务格式。本文演示如何保留长度与位置变化,把输入映射到合法字符域,并拆分非法输入测试。210 收藏 -
Go bytes.Cut 会围绕首个分隔符返回 before、after 和 found 三个结果。本文用请求头、键值文本等场景说明未命中时的返回边界,以及返回切片与原始字节存储共享时何时需要 bytes.Clone。210 收藏 -
Go INI 可以把文件、[]byte 和 Reader 作为多个配置源按顺序合并,后加载源覆盖同名键。本文用默认配置、环境覆盖和运行时字节配置说明优先级写法,以及 Loose、ShortCircuit、Append 的选型边界。210 收藏 -
Go strconv.QuoteToASCII 会返回带双引号的 Go 字符串表示,并把非 ASCII 字符转换为 Unicode 转义。本文说明它在日志和传输边界中的用法,比较 Quote、QuoteToGraphic 与 Unquote 的职责,并强调它不能替代 JSON、URL 等协议编码。210 收藏 -
Go 的 io.CopyBuffer 允许调用方提供复用缓冲区,适合重复文件或流复制任务。本文说明缓冲区职责、WriterTo 与 ReaderFrom 快速路径、并发复用和 n/err 返回值的判断方式。210 收藏 -
通过一个可控的流复制小项目说明 io.TeeReader 的同步写入语义、写端错误如何从 Read 返回,以及处理 n 和 err、错误包装与适用边界的正确方式。210 收藏 -
用一个可运行的 Go HTTP 示例,把租户配置从全局变量迁移到请求级依赖容器,说明 Handler、TenantConfig 和 context.Context 的边界、取舍与验证方式。209 收藏