Go教程技术文章
-
Golang · Go教程 | 3天前 | 并发 · go · 连接池 · net/http · HTTP客户端 · Go HTTP客户端 连接池 http.Transport Transport.Clone
Go 的 http.Transport.Clone 可以深拷贝导出配置字段,适合从一份基础 Transport 派生出连接池参数互不覆盖的客户端。本文区分配置快照、函数回调与运行时连接池,并给出可复用的隔离写法。402 收藏 -
Go ResponseController 统一刷新、读写期限等可选能力的调用入口。通过中间件 Unwrap、ErrNotSupported 分流和有限响应示例,说明接口边界、失败处理及改造前后的测量方法。372 收藏 -
Go 1.22+ 的 net/http.ServeMux 可以把 HTTP 方法、路径通配符和参数提取直接写进路由模式。本文用一个小型文章接口说明 GET/HEAD、PathValue、剩余路径、优先级与尾斜杠边界。341 收藏 -
区分 Go defer 普通参数的登记时求值与匿名闭包的延后读取,说明变量变化、资源清理和命名返回值修改应该如何设计。233 收藏 -
Go Modules 项目中的 go.sum 应与 go.mod 一起纳入版本控制。本文从校验记录、模块代理、私有依赖和 CI 只读构建四个角度,说明怎样生成、评审和提交 go.sum。160 收藏 -
使用 Go mod graph 精确筛选目标模块的全部父依赖,并结合 go list -m 与 go mod why 区分版本要求、实际选中版本和包导入路径,说明依赖调整前后的记录方法与升级判断边界。142 收藏 -
用 go test -cover 建立按包基线,再用 coverprofile 与 go tool cover 定位函数盲区,并区分默认包内统计和 -coverpkg 跨包统计。262 收藏 -
测试依赖用户主目录的 Go 代码时,先按平台选择 HOME 或 USERPROFILE,再用 t.TempDir 与 t.Setenv 注入临时路径,并覆盖空值错误分支。本文给出可复用的断言结构和 Cleanup 边界。231 收藏 -
Go -race 只能发现运行时真正触发的竞态,而且典型开销明显高于普通测试。本文把 CI 拆成快速层、并发重点层、全量竞态层和长链路层,说明如何配置 -p、-parallel、GOMAXPROCS,并区分真实竞态与资源型失败。393 收藏 -
Go 中 filepath 面向当前操作系统的本地文件路径,path 面向固定使用斜杠的 URL 路径。本文用同一组输入对比两者的职责、Windows 盘符风险、资源地址拼接和跨平台落地方式。115 收藏 -
Go json.Decoder 可能提前从底层 Reader 读取数据,Decode 返回后仍有一部分字节停留在内部缓冲。本文说明 Buffered 的准确边界、如何和底层 Reader 余量拼接,以及为什么下一次 Decode 或 Token 后不能继续依赖旧 reader。484 收藏 -
Go io.Pipe 是没有内部缓冲的同步内存管道:PipeWriter.Write 会等到 PipeReader 消费数据后才完成。本文从生产者消费者串流出发,说明正常关闭、CloseWithError、读端取消与背压边界。228 收藏 -
Go netip.Prefix Overlaps 用来判断两个 CIDR 网段是否存在共同 IP。本文从 ParsePrefix 和 Masked 开始,说明 IPv4、IPv6、零值前缀、非法输入与 Contains 的区别,并给出可复用的 Go 封装。419 收藏 -
Go channel 的关键不是记住 close 语法,而是把关闭责任交给唯一知道最后一次发送已经完成的 owner。本文说明单生产者、多生产者汇聚、range 退出、重复关闭与取消信号的边界设计。116 收藏 -
从共享状态边界出发,对比普通 map 配合 Mutex、RWMutex 与 sync.Map 的适用条件,再用竞态检测、吞吐和延迟指标复查选择。198 收藏