Go教程技术文章
-
Go 的 encoding/csv 将 FieldsPerRecord 设为负数后会允许记录拥有不同列数,但列数约束不会自动消失。本文用一段可复用代码把语法解析、业务列数校验和字段映射分开。193 收藏 -
Golang · Go教程 | 1个月前 | 标准库 · HTTP · 文件上传 · Go教程 · Go LimitReader MaxBytesReader multipart.Reader ReadForm 表单内存
Go multipart 表单的内存限制要分三层:MaxBytesReader 保护整个请求体,ReadForm(maxMemory)控制解析预算,NextPart 配合 LimitReader 才能给单个文本字段设置精确上限。本文用错误类型和清理动作说明三种边界如何组合。193 收藏 -
Go 1.27 为 go doc 增加 package@version 查询形式。本文说明如何查看指定依赖版本的 API,并区分 go.mod、go list 与文档查询的职责。193 收藏 -
用 Go 的 os.File.Truncate 调整文件字节长度,区分缩短、扩展、I/O 偏移不变和 PathError 错误处理,附带可复用的最小示例与回归检查清单。193 收藏 -
Go archive/tar 可以读取稀疏归档并暴露 SparseHoles,但标准 Writer 当前不能直接把 sparse map 编码成 GNU/PAX 稀疏条目。本文说明正确的 Header 表达、普通 tar 写法和兼容方案。193 收藏 -
Go 并发子测试中的诊断信息容易和其他分支混在一起。本文围绕 testing.T.Log、Logf、Name 与 t.Parallel,说明日志可见时机、上下文归属和常见边界。193 收藏 -
用 Go x/text/currency 把货币单位绑定到金额,再交给 message.Printer 按语言标签输出地区习惯的货币符号;同时说明 FromTag、FromRegion、ISO 和金额展示的边界。193 收藏 -
Go 的 x509.CertPool.AppendCertsFromPEM 用于把 PEM 编码的证书追加到信任池。本文说明单个证书、证书链、系统根证书合并和 TLS 使用时的判断边界。193 收藏 -
filepath.Rel 只按路径字符串计算相对关系,不会替你解析符号链接。本文用 Go 标准库演示先统一解析根目录与目标路径,再计算相对路径,并拆开解析失败、路径不兼容和目标尚不存在等边界。193 收藏 -
调用方先准备递增有序的切片,把同一份缓冲区反复传给 slices.BinarySearch;文章说明如何区分命中索引、未命中插入位置和结果容器分配。193 收藏 -
Go go/doc.New 不负责解析源码,它接收 go/ast.Package 并整理包注释、导入路径和声明文档。本文用 NewFromFiles 组装 AST,说明 ParseComments、测试文件、Mode 与 AST 所有权边界。193 收藏 -
Go testing.F.Add 用来把固定回归样例加入模糊测试种子语料。本文说明参数类型和顺序、调用时机、普通 go test 与 -fuzz 的运行关系,以及如何整理稳定的 fuzz target。193 收藏 -
go/ast.MergePackageFiles 可以把同一包的多个 *ast.File 合并成一个文件级 AST,但它依赖已废弃的 ast.Package 和 MergeMode。本文用最小示例说明三个过滤选项的作用、导入与注释边界,以及何时应改用 go/types。193 收藏 -
Go slog 的 AddSource 能把日志调用点写进 source 字段,排查并发服务时很有用,但每条日志都要承担调用点定位和格式化成本。本文用可验证的基准与生产开关说明它的代价、适用范围和安全切换方式。192 收藏 -
Go 的 O_APPEND 只把每次写入的起点交给内核保证,不等于整条日志天然不可交错,也不替日志轮转解决文件描述符和重命名边界。文章用可运行示例拆开偏移、并发写入和轮转后的处理方式。192 收藏