Go语言技术文章
-
从方法、主机、路径段、尾斜杠、通配符和转义规则解释 Go ServeMux 为什么未命中,并用 Handler 返回值定位实际匹配模式。191 收藏 -
从活跃请求与停机耗时定位Shutdown等待原因,展示独立退出期限、Close回退和主函数等待,区分WebSocket、SSE及后台任务的管理范围。207 收藏 -
Go 流式响应写入后迟迟不到客户端,通常不只是少调用一次 Flush。本文从 http.Flusher、响应包装器、代理缓冲和 ResponseController 四个层面整理处理方式,并给出可回退的排障清单。359 收藏 -
本文说明 Go 自定义 http.CookieJar 必须满足的两个方法、并发安全要求、内存实现边界以及接入 http.Client 的方式,帮助读者区分测试替身和生产级 Cookie 策略。140 收藏 -
Go 的 http.Client 会在重定向时复制初始请求头,但对 Authorization 等敏感头只允许同域或受控子域继续继承。本文结合 CheckRedirect 说明如何收紧跨主机、HTTPS 降级和凭据审计边界。497 收藏 -
解释Go请求体预读后出现EOF的原因,用有界缓存和独立Reader恢复下游读取,区分服务端Body与客户端GetBody,并说明读取失败、内存成本和关闭责任。189 收藏 -
Go Transport 连接池复用失效时,不要先盲目调大连接数。本文从复用前提、Response.Body、httptrace、连接池参数和服务端边界五个方面给出排查与配置方案。429 收藏 -
Go HTTP 客户端超时并不只有一个开关。本文把一次请求拆成 DNS、TCP 连接、TLS 握手、响应头和响应体阶段,说明 http.Client.Timeout、DialContext、TLSHandshakeTimeout、ResponseHeaderTimeout 与请求上下文各自负责什么,并给出带阶段追踪的可复用配置。358 收藏 -
使用 go/parser 分析 Go 源码时,ParseComments 决定 AST 是否保留注释。本文从 ParseFile、ast.File.Comments 和声明 Doc 注释入手,给出可直接改造的解析示例。413 收藏 -
以文件摘要场景比较os.ReadFile和os.Open,解释全文切片、流式读取、固定缓冲、部分读取错误与资源关闭,避免换用Open后仍保留全部数据。114 收藏 -
围绕 Go bufio.Reader.Discard 说明完整跳过、部分跳过、EOF 和底层读取错误的判断方式,并给出固定字节跳过的安全封装与参数边界。199 收藏 -
围绕 Go io.Pipe 的同步读写关系,说明生产者如何用 PipeWriter.CloseWithError 把错误传给消费者,以及读端提前退出时怎样通知写端解除阻塞。170 收藏 -
用MaxBytesReader限制Go HTTP请求体的实际读取字节数,识别MaxBytesError并返回413,说明完整读取、部分数据丢弃、Content-Length和JSON解析边界。474 收藏 -
Go strconv.AppendQuoteRuneToASCII 可以把单个 rune 追加为带单引号的 ASCII Go 字符字面量。本文说明如何接住返回切片、处理非 ASCII 转义,并区分它与 QuoteRune、AppendQuoteRune 等相邻 API。372 收藏 -
本文围绕 Go crypto/cipher.NewGCMWithRandomNonce,说明如何让 Seal 自动生成并携带随机 nonce,再由 Open 自动提取 nonce 完成 AES-GCM 解密,并整理版本、密钥和密文长度边界。304 收藏