Go问答技术文章
-
说明 Go x/image/font/opentype 中 Font、Face 和字体源数据的生命周期区别,给出多个字号分别创建 Face、并发使用与逐个 Close 的资源管理写法。358 收藏 -
Go HTTP 客户端超时并不只有一个开关。本文把一次请求拆成 DNS、TCP 连接、TLS 握手、响应头和响应体阶段,说明 http.Client.Timeout、DialContext、TLSHandshakeTimeout、ResponseHeaderTimeout 与请求上下文各自负责什么,并给出带阶段追踪的可复用配置。358 收藏 -
Go 私有模块可用 GOPRIVATE 与 GONOSUMDB 排除公共校验数据库查询,同时保留公开依赖校验。本文区分代理和校验职责,并给出直连私仓及企业代理两种配置示例。358 收藏 -
Go netip.AddrFrom4 接收 [4]byte 并构造原生 IPv4 地址值。本文说明如何读取 String、Is4、As4,怎样处理 []byte 和文本输入,以及 IPv4-mapped IPv6、0.0.0.0 与零 Addr 的边界。358 收藏 -
第三方 Go 模块停止维护后,不要只看更新时间做决定。本文从 API 兼容性、修复责任和迁移成本出发,比较替换、分叉与适配器隔离三种方案,并给出 go.mod、fork 和 govulncheck 的落地检查点。357 收藏 -
slog 的普通 error 属性默认不是错误链对象。本文给出 LogValuer 日志适配器,显式输出安全消息、错误码和操作名,并说明包装错误、字段类型迁移与 Handler 的边界。357 收藏 -
Go 1.27 的 goroutineleak 画像只报告运行时能证明永久阻塞的一部分 goroutine。本文按 Lookup 参数和 HTTP 路径说明采集方式,并解释全局引用、可运行 goroutine、IO 阻塞及偶发时序为什么不会出现在画像中。357 收藏 -
Go SQLX StructScan 报 missing destination name,通常不是数据库连接失败,而是查询返回列无法和目标结构体字段映射。本文用一个小型订单查询说明 db 标签、SQL 别名、Mapper 和 Unsafe 的正确边界。357 收藏 -
Golang · Go问答 | 3星期前 | 基准测试 · go · testing · 性能优化 · 性能测试 CPU count GOMAXPROCS testing.B Go benchmark benchtime
Go benchmark 结果波动大时,应先固定计时边界、-benchtime、-count、-cpu 和机器状态,再用多份样本判断优化是否稳定。本文给出 testing.B、GOMAXPROCS 和环境噪声的排查方法。356 收藏 -
Go ExtraFiles 的下标对应子进程 3+i,而非父进程原描述符。本文说明标准流、平台限制与关闭责任,并用双文件示例区分映射错误、读取偏移和总数误判。356 收藏 -
Gonum mat.Dense 的 Slice 返回的是共享底层数据的矩阵视图,不是独立副本。本文用小矩阵说明别名如何传播、半开区间怎样计算,以及什么时候应该改用 DenseCopyOf。356 收藏 -
Go 1.27 支持具体类型声明泛型方法,但类型参数只出现在返回值时,方法调用仍可能无法完成类型推断。本文给出显式类型实参、目标指针、解析回调和具体包装方法四种改法,并说明规模化 SDK 的取舍。355 收藏 -
Golang · Go问答 | 3星期前 | 数据库 · Context · 后端开发 · Go问答 · Go 连接池 context database/sql 数据库超时 QueryContext 驱动取消
Go context 超时后数据库查询仍未结束,通常要沿着 QueryContext、数据库驱动、Rows 读取和连接池逐层排查。本文给出最小写法、驱动取消边界、资源释放和连接池诊断方案。355 收藏 -
用 math/rand/v2 的 PCG 和两个 uint64 种子创建本地随机源,说明 Uint64 序列复现、并发实例边界和 MarshalBinary 状态恢复方法。355 收藏 -
Go 的 net.Resolver.Dial 只服务于 Go 内置 DNS 解析器;如果当前解析路径选择系统解析器,设置 Dial 也不会接管请求。本文说明 PreferGo、Dial 和实际调用对象之间的关系,并给出排障清单。355 收藏