Go问答技术文章
-
filepath.Glob遇到非法模式会返回ErrBadPattern,忽略err才容易误认为普通空结果。本文给出最小错误处理写法,区分无匹配与目录读取问题,并说明相对路径、星号和跨平台转义的边界。417 收藏 -
slices.SortStableFunc 并不会替你修正比较函数。本文从负、零、正返回值、相等元素保序和严格弱序三个边界,说明怎样写出可检查的稳定排序比较器。416 收藏 -
Go 1.23 引入的 slices.Collect 会把 iter.Seq 收集为新切片,但空序列返回 nil,容量也不是 API 承诺。本文拆开 nilness、容量、元素别名和重复消费边界,给出稳定测试写法。416 收藏 -
QueryContext 超时后连接仍在 InUse,不一定是连接泄漏。本文从驱动取消能力、Rows.Close、Rows.Err 和 DB.Stats 四个角度说明如何定位回池延迟。416 收藏 -
Go 的 sync.Mutex 首次使用后不能复制。本文用结构体赋值和值接收者说明复制如何造成永久等待或保护失效,并给出指针接收者、go vet 与并发测试的修复清单。416 收藏 -
slog.WithGroup 只影响分组建立后追加的字段;JSONHandler 输出嵌套对象,TextHandler 则使用点号限定键名。本文用最小复现定位调用顺序、Group 混用和自定义 Handler 问题,并给出统一构造与测试方法。416 收藏 -
调整 GOGC 或 runtime/debug.SetGCPercent 后,延迟不会按固定方向变化。本文用固定工作负载、隔离的基准样本和延迟分位数,对照分析 GC 频率、堆空间、吞吐与 p95/p99 的关系。416 收藏 -
Go RSA-PSS 签名成功但验签失败时,优先对齐 digest、Hash 和 SaltLength。本文用 SHA-256 与等 Hash 盐长说明 SignPSS、VerifyPSS 的参数责任,并比较固定盐长与自动盐长在跨实现协议中的取舍。416 收藏 -
Go 1.25 起可以用 os.Root.Chmod 在受限目录树内修改文件权限。本文给出最小写法,说明相对路径、FileMode、错误分类和跨平台边界。416 收藏 -
Go GOPRIVATE 配置后私有模块仍走代理,常见原因是路径未命中、GONOPROXY 覆盖或配置没有进入目标进程。本文按公共代理、企业代理和校验数据库三条边界给出排查与修复方法。416 收藏 -
Go flac 的Num在固定块与可变块模式下分别表示帧序号和首样本编号。本文说明名义块长换算、多声道时间轴与v1.0.14短尾帧边界。416 收藏 -
Go 接口里放入 typed nil 指针后,接口本身可能不等于 nil;comma-ok 断言成功也不代表结果指针可用。本文用 T/V 两层模型和边界封装说明如何排查与处理。416 收藏 -
Golang · Go问答 | 2个月前 | go · 路由 · net/http · ServeMux · 兼容性 · Go ServeMux PathValue http.Request.Pattern 路由模式
Go 1.22 引入增强路由后,http.Request.Pattern 可以告诉处理器究竟是哪条 ServeMux 模式命中了请求。本文用 GET /orders/{id} 实验说明 Pattern 与 PathValue 的区别、未命中时的空值行为,以及旧路由兼容判断。415 收藏 -
Golang · Go问答 | 2星期前 | 标准库 · HTTP · go · Cookie · cookie Go net/http Secure SameSite CHIPS Partitioned
Go 的 http.Cookie 增加 Partitioned 后,真正容易出错的是属性组合:Partitioned 必须和 Secure 一起使用,SameSite 则负责跨站发送策略。本文用标准库字段、Valid 检查和 Set-Cookie 序列化拆开这三个边界。415 收藏 -
围绕 go.mod、vendor/modules.txt 与构建模式,整理 Go inconsistent vendoring 的定位、重建和 CI 复查清单。415 收藏