Go教程技术文章
-
用同一段 Go 示例验证 fmt.Appendf 的追加语义、容量增长与格式占位符边界,给需要构造日志或协议字节流的代码一个可复用的写法。401 收藏 -
用 Go crypto/ecdh 运行示例核对 PrivateKey.Bytes 的固定长度、复制语义与 NewPrivateKey 校验边界,避免把敏感密钥材料当普通字节切片长期保存。422 收藏 -
用同一个 httptest 服务验证 Go RoundTripper 总耗时与 httptrace.ClientTrace 分阶段耗时的差别,给出按排障目标选工具的边界。269 收藏 -
Go 的 http.Client 默认只返回最终响应。本文从一次重定向排查开始,演示如何在 CheckRedirect 中复制请求信息、限制敏感请求头,并保存可验收的重定向链。175 收藏 -
embed.FS 读取静态资源时,文件路径必须遵守 io/fs 的相对路径规则。本文用 assets/ 与模板读取场景说明路径前缀、fs.ValidPath 和 fs.Sub 的边界,给出可复用的校验与测试写法。239 收藏 -
Golang · Go教程 | 3天前 | HTTP · 并发读取 · Go教程 · 流式响应 · Go net/http ResponseController EnableFullDuplex HTTP/1
Go 的 HTTP/1 服务端默认会在写响应前消费未读请求体。本文用分块上传与流式响应示例说明 ResponseController.EnableFullDuplex 的作用、Flush 的边界、HTTP/2 差异和关闭请求体的验收方法。164 收藏 -
从 context.WithTimeout、Done 和 Err 的真实控制流出发,说明为什么设置超时不等于 goroutine 自动停止,并给出可验证的退出写法。287 收藏 -
Go 的 log/slog 会先通过 Logger.Enabled 和 Handler.Enabled 判断日志级别,再决定是否构造记录并交给 Handler.Handle。本文用可运行示例拆开这条调用链,说明昂贵属性计算该放在哪里,以及如何用测试确认过滤边界。352 收藏 -
用一个共享计数器测试说明 t.Parallel 的调度边界,再配合 go test -race 和失败证据,让并发问题能稳定复现、定位并回归。207 收藏 -
并发任务一旦失败,普通取消信号往往只告诉调用方“停了”,却丢掉了真正原因。本文用 context.WithCancelCause 组织一个批量读取示例,让首个失败原因沿 ctx.Done 传回协调函数,并验证取消、错误回收和结果输出的边界。321 收藏 -
go/token 把源文件位置压缩成 Pos,真正输出错误时还要经过 FileSet.PositionFor。本文用多文件和 //line 场景说明 adjusted、文件偏移与诊断文本如何对应,并给出可复现的核对方式。367 收藏 -
Go 泛型代码需要把类型交给反射注册表时,reflect.TypeFor 可以直接取得类型描述;再配合 AssignableTo 校验注册边界,避免用空值和类型断言绕一圈。291 收藏 -
用 Go io.Copy 处理上传、代理和文件转存时,先限制输入边界,再利用 ReaderFrom 的快路径,最后用可复现基准确认吞吐与内存变化。409 收藏 -
Go 的 regexp.Expand 和 ExpandString 可以把正则捕获结果写入模板。本文从命名捕获组、模板边界和字节切片复用出发,给出可验收的替换写法,并说明空捕获组与并发使用时的注意点。402 收藏 -
用 Go net/url 的 URL.JoinPath 拼接接口路径,厘清多斜杠、./、../ 与 PathEscape 的边界,并通过可运行示例验收最终请求地址。160 收藏