Go语言技术文章
-
讲清 Go http.ServeContent 中 modtime 的真实作用:如何配合 Range、If-Range 和 Last-Modified 返回稳定的部分内容响应,并避开 time.Now() 造成的缓存问题。253 收藏 -
Go 服务在精简容器中调用 time.LoadLocation 失败,通常是 IANA 时区数据库缺失。本文梳理查找顺序,并给出安装 tzdata、嵌入 time/tzdata 与显式回退的部署方案。148 收藏 -
讲清 Go httptest.NewRequest 如何构造请求体、设置 ContentLength,并用 Handler 回归测试覆盖已知长度、未知长度和空请求体边界。260 收藏 -
Go 接口处理时间字段时,Unix 时间戳和 RFC3339 文本应按输入协议分别解析。本文用 time.Parse、time.Unix 和单位检查整理一套可复用的选择规则。453 收藏 -
Go多用户HTTP客户端不要共享同一个CookieJar。本文从串线症状出发,演示按用户创建独立cookiejar.Jar和http.Client,并说明并发、认证与生命周期边界。248 收藏 -
Go regexp 遇到 .+ 贪婪匹配时,字段可能跨过分隔符吞掉后续内容。本文用可复现输入对比贪婪、非贪婪和字符类边界,并给出子匹配回归清单。267 收藏 -
围绕 Go http.Transport 说明 IdleConnTimeout、MaxIdleConns 和 MaxIdleConnsPerHost 的作用,区分客户端空闲回收与服务端主动关闭,并给出可复用 Transport 的配置示例和排查清单。185 收藏 -
Go regexp 中点号默认不匹配换行。本文用最小示例说明 (?s)、(?s:...)、显式字符类和非贪婪量词的选择,帮助控制跨行范围并避免多条记录被一次吞并。361 收藏 -
Golang · Go教程 | 21小时前 | Go教程 · net/http · CheckRedirect Go http.Client重定向 ErrUseLastResponse HTTP跳转策略
通过 http.Client.CheckRedirect 按目标主机、请求方法和跳转次数制定重定向策略,区分拒绝跳转与保留 3xx 响应,并处理 301/302/303、307/308 的请求体和响应关闭边界。246 收藏 -
解释Go io.Copy遇到Writer短写但返回nil错误时的处理结果,说明io.ErrShortWrite、WriterTo与ReaderFrom快路径,以及自定义Writer的修复方式。145 收藏 -
使用 Go net/url 生成签名查询串时,统一 Values.Encode、参数排序、重复键策略和 RawQuery,避免空格、加号与二次编码造成验签不一致。313 收藏 -
Go 中直接调用 io.ReadAll 会把 Reader 读到 EOF。面对没有可靠长度的 HTTP 响应,应先做 Content-Length 预检查,再用 LimitReader 多读一个字节识别超限,最后把关闭、错误和解析边界统一处理。118 收藏 -
Go regexp 通过命名捕获组提取日志字段,配合 SubexpIndex 集中处理索引、匹配失败、可选字段和重复命名,让日志格式调整不再牵动大量 match 数字位置。354 收藏 -
Go 中 bufio.Scanner 读取长日志时看起来只返回前一部分内容,通常是 token 超过默认缓冲上限后 Scan 停止。本文从 Err 检查、Buffer 配置、字节上限和 Reader 替代方案四个层面给出排查方法。499 收藏 -
讲清 Go gzip.Writer 写入 HTTP 响应时 Write、Flush、ResponseController.Flush 与 Close 的职责边界,给出按消息边界刷新、处理错误和排查代理缓冲的实现方案。108 收藏