Go问答技术文章
-
用 http.Transport.RegisterProtocol 把指定 URL scheme 路由到自定义 RoundTripper,并解释 http.ErrSkipAltProtocol 何时交回 Transport 的默认处理路径。256 收藏 -
用逐行统计工具说明Scanner长行超限,区分初始缓冲、扫描预算与业务长度,处理Err和Bytes复用,并解释何时改用Reader分片。256 收藏 -
Go 的 sql.Rows 出现连接池等待或资源未释放时,先确认 Rows.Close 与 Rows.Err 的生命周期,再结合 DB.Stats、goroutine 和驱动日志定位真正的拥有者。本文给出可复用的代码与排查顺序。256 收藏 -
ExtensionsByType 并不返回空字符串,而是按 MIME 类型返回扩展名切片。本文区分 nil、空字符串和 error,并说明 TypeByExtension 与 AddExtensionType 的使用边界。256 收藏 -
net.Dialer KeepAlive 只负责 TCP 探活间隔,不能替代应用层心跳、HTTP 连接池或服务端空闲策略。本文用 Go 示例说明零值、负值和 KeepAliveConfig 的边界,并给出长连接空闲断开的分层排查与重连方法。256 收藏 -
go/types 的 Scope.Insert 不会覆盖同一作用域里已有的同名对象。本文用最小示例说明 nil 与旧对象返回值的区别,并梳理 Lookup、Names、Parent 以及子作用域遮蔽的边界。256 收藏 -
Go 里响应头超时通常由 Transport.ResponseHeaderTimeout 控制,而 Client.Timeout 是覆盖连接、重定向和响应体读取的总预算。本文用一组可复用配置和错误判断示例说明两者如何分工。256 收藏 -
通过 os.Getwd 与 filepath.Abs 定位 Go 相对路径的解析基点,为外部配置提供显式绝对路径参数,并用 embed 管理随版本发布的只读模板,说明跨工作目录启动时的判断与错误处理。255 收藏 -
Golang · Go问答 | 3星期前 | 标准库 · go · 性能排查 · 直方图 运行时指标 Go runtime/metrics Float64Histogram Buckets Counts
Go runtime/metrics 的 Float64Histogram 返回边界与计数两个切片,本文说明 len(Buckets)-1 的长度关系、相邻边界区间、KindBad、空样本、Inf 边界和累计指标差分的处理方式。255 收藏 -
Go archive/tar 遍历时目录条目的内容为空并不一定是读取失败:TypeDir 只描述目录,不携带可读正文。本文用 Header、Reader.Next、Reader.Read 和文件类型判断拆开这个误区,并给出安全的遍历与提取写法。255 收藏 -
Go 的 Clean、Join 和 IsLocal 主要做词法路径判断,遇到符号链接时看不见最终目标。本文用最小复现说明原因,并给出先做词法拦截、再用 EvalSymlinks 与 Rel 判断解析后路径的读取方案,同时说明检查与打开之间的竞态边界。255 收藏 -
Golang · Go问答 | 2星期前 | HTTP · TLS · Go问答 · 排错 · Go net/http Transport RoundTripper ALPN TLSNextProto
Go 的 Transport.TLSNextProto 不是普通的 HTTP/2 开关,而是 TLS ALPN 协商后把连接交给协议处理器的低层映射。本文按回调签名、authority、TLS 连接所有权和 HTTP/2 自动启用边界说明怎样注册与判断。255 收藏 -
Go testing.T.Attr 的键不能包含 Unicode 空白,值不能包含回车或换行;违规时会让测试失败并跳过该属性。本文解释约束来源、错误模型,以及如何把自由文本稳定映射为可记录的单行属性。255 收藏 -
Go crypto/mlkem 的密钥对象不能用任意内存序列化代替官方编码。本文说明封装公钥与解封装私钥的 Bytes、New... 构造函数、ML-KEM-768/1024 的长度约束,以及字节往返时的错误处理和保密边界。255 收藏 -
filepath.Glob 匹配不到文件时,问题通常不在通配符本身,而在相对路径基准、目录层级、操作系统分隔符或实际没有匹配项。本文用一个可复用的最小示例区分根目录缺失、ErrBadPattern 和空结果,并说明 Glob 的适用边界。255 收藏