Go语言技术文章
-
go-shp 的 Point 只有 X、Y,PointZ 还包含 Z、M;写入 Shapefile 时分别匹配 POINT 与 POINTZ。本文比较字段、BBox、读取分支和写入选择,说明不要把二维点与带高程或测量值的点混用。198 收藏 -
go work sync 面对的是工作区构建列表,不是任意单模块整理命令。本文用 go.work、GOWORK、use 模块和最小版本选择说明它何时会改写 go.mod,以及没有变化时该检查什么。198 收藏 -
在 Go 中反复把字节编码为十六进制文本时,可以用 hex.EncodedLen 计算容量,再用 hex.Encode 或 hex.AppendEncode 复用目标缓冲区。本文说明 len、cap、dst[:0] 和多段追加的正确关系。198 收藏 -
Go 数据库连接池空闲连接断开,可能来自 sql.DB 主动回收,也可能是数据库、代理或 NAT 的空闲超时。本文按时间线区分原因,说明连接池参数职责,并给出带边界的排查与配置方案。198 收藏 -
解释 fs.Sub 的目录根约定与延迟访问错误,用内存文件系统示例区分路径合法性、目录属性和子树映射,并给出父目录读取与显式目录检查写法。198 收藏 -
Go reflect.Value.CanFloat 用来判断反射值能否安全调用 Float。本文区分 float32、float64、整数和无效 Value,给出带错误返回的读取函数,并说明 Float 返回 float64 时的边界与反射性能取舍。198 收藏 -
用信封与延迟载荷模式处理异构 JSON,给出逐条分发示例,并说明 RawMessage 复制成本、容量复用、缺失字段清零和异步所有权取舍。198 收藏 -
Golang · Go问答 | 3天前 | 标准库 · 故障排查 · Go问答 · Go 运行时指标 runtime/metrics metrics.Read metrics.Sample metrics.All KindBad
runtime/metrics.Read 不会自动创建样本,切片为空时遍历不到结果;未知指标则会得到 KindBad。本文说明如何填写完整指标名、用 metrics.All 判断支持关系、按 Value.Kind 分派,并封装一个可复用的运行时指标读取函数。198 收藏 -
Golang · Go教程 | 12小时前 | 并发 · 标准库 · Context · Go教程 · 工程实践 · Go 生命周期 后台任务 context.Context context.WithoutCancel
请求结束后仍需完成的审计、落盘或消息整理任务,不应继续绑定请求取消信号。本文从 context.WithoutCancel 的语义出发,说明如何拆分生命周期、补上独立超时,并处理资源释放与服务关闭边界。198 收藏 -
Go text/template 执行成功但页面为空,通常不是 Execute 没运行,而是写入目标、模板入口、数据字段或空值分支出了偏差。本文给出从输出长度到 ExecuteTemplate 的排查顺序。197 收藏 -
Go 读取 ZIP 时,压缩包和内部条目各有独立的关闭对象。本文用局部函数、错误处理和数据来源对比,说明为什么打开条目后仍要显式关闭资源。197 收藏 -
Go 中限制最低 TLS 版本,直接给 tls.Config.MinVersion 设置 tls.VersionTLS12 或 tls.VersionTLS13。本文说明默认行为、客户端与服务端写法、版本范围边界,以及如何通过 ConnectionState 读取实际协商版本。197 收藏 -
Go 方法值 x.M 创建时会保存已经求值的接收者。本文用值接收者和指针接收者对照说明旧快照、旧指针与变量重新赋值的区别,并给出方法表达式和显式闭包的修正选择。197 收藏 -
Go WebSocket 升级前写响应体,通常会先提交普通 HTTP 状态,后续就无法再完成 101 Switching Protocols。本文按请求检查、http.Hijacker 接管、101 握手和帧通信的生命周期拆开说明,并给出正确的写入顺序。197 收藏 -
Go time.ParseInLocation 可通过有限布局列表兼容 RFC3339、本地日期时间与日期。本文给出显式默认时区、匹配标签和错误返回的原创接口,并说明小数秒、日期语义及时间戳的适用范围。197 收藏