Go教程技术文章
-
Go 的 io.Pipe 可以让生产者 goroutine 通过 PipeWriter.CloseWithError 把失败原因传给消费者。本文用一条最小配方说明正常 EOF、业务错误和关闭时机的区别。306 收藏 -
Go Benchmark测量分配次数,需先明确一次操作、夹具准备与结果生命周期。本文用分规模字节拼接示例说明ResetTimer、ReportAllocs和三类指标,避免把初始化或缓冲区复用误当成优化收益。306 收藏 -
Golang · Go教程 | 1星期前 | 文件上传 · Go教程 · net/http · 接口安全 · MaxBytesReader io.LimitReader 流式上传 Go MultipartReader multipart字段限制
用 MultipartReader 流式遍历表单字段,通过整包上限、字段白名单和 limit+1 哨兵读取分别限制文本与文件,并补齐资源清理、413 响应和审计测试。305 收藏 -
使用goquery Clone隔离文章子树修改,说明Remove返回值、Find匹配范围和CloneDocument区别,给出保留原文档的完整Go示例。305 收藏 -
讲清 Go tls.Config.KeyLogWriter 的 NSS key log 用法、文件权限、连接复用边界和调试后的清理方式,帮助定位 TLS 抓包解密问题并避免密钥输出进入生产环境。304 收藏 -
maps.Keys 返回 map 键的 iter.Seq,但官方明确说明迭代顺序未指定,而且不同调用之间不保证一致。本文解释常见误区,并给出普通有序键、结构体键、测试与接口输出的稳定排序写法。304 收藏 -
使用 Go 的 httptest.NewRequest 和 ResponseRecorder,在不启动真实网络服务的情况下测试 HTTP Handler 的状态码、Header、响应体以及成功和错误边界。304 收藏 -
Goja 执行 JavaScript 后,可以使用 Runtime.ExportTo 将对象直接导出到 Go 结构体;本文说明字段映射、嵌套对象、数组和错误处理的写法。303 收藏 -
Go go-toml v2 自定义 TOML 解码的完整做法:实现 unstable.Unmarshaler、启用 Decoder 接口,并处理嵌套表、默认值和业务错误边界。303 收藏 -
读取请求体、文件或消息流时,直接调用 io.ReadAll 会一直读到 EOF。本文用 io.LimitReader 设置最大读取范围,再用一字节探测区分正常结束、刚好达到上限和真正超限。303 收藏 -
Go ReverseProxy改写请求头需要区分Director与Rewrite、目标URL与HTTP Host。本文给出固定上游的原创示例,说明转发元数据的重建和继承边界,并归纳迁移时的选择规则。303 收藏 -
Go 表驱动测试的价值不只是少写重复代码,更重要的是把有效输入、边界值和非法输入组织成可定位的子测试。本文用输入分区、语义化命名和 -run 精确重放整理一套实用写法。302 收藏 -
用 Go database/sql 查询一条记录时,QueryRowContext 的错误要在 Scan 处读取,并正确区分 sql.ErrNoRows、类型转换失败和查询错误。302 收藏 -
说明 Go gzip.Reader 默认如何连续读取拼接的 gzip 成员,以及如何用 Multistream(false) 和 Reset 保留成员边界并逐段处理。301 收藏 -
用 Go afero 的 BasePathFs 为导出逻辑建立工作目录边界,演示相对路径写入、父目录创建、越界失败和安全边界判断。300 收藏