Go问答技术文章
-
Golang · Go问答 | 2天前 | 错误处理 · net/http · Go问答 · HTTP认证 · net/http Request.BasicAuth HTTP Basic Auth Go认证
net/http.Request.BasicAuth 返回的 ok 布尔值用于区分没有 Basic Authentication 与用户名密码为空。本文用请求头样例和可运行测试拆开三种边界,避免把空密码误判成未认证。400 收藏 -
调用 os.File.ReadAt 读取固定长度时,n 和 err 如何一起判断?本文用短读、文件尾和数据完整性三个场景,说明 io.EOF 的边界与可复用的处理代码。399 收藏 -
Golang · Go问答 | 1个月前 | golang · HTTP · Context · 并发编程 · context.Context context.WithTimeout Go HTTP 超时
Go 服务调用 HTTP、数据库或 RPC 时,超时不能只靠客户端等待。本文用 context.WithTimeout 给请求链路加上可传播的截止时间,并说明 cancel、父子 Context、select 和错误判断的常见坑。397 收藏 -
解释带 sync.Mutex 的结构体为什么不能随意复制,比较值接收者、指针接收者和容器传参的差异,并给出可运行的验收方法。397 收藏 -
sync.Cond 的 Wait、Signal 和 Broadcast 不是消息队列,正确用法是持锁检查条件、循环等待,并在状态变化后通知。本文用任务队列示例解释信号丢失、虚假唤醒和关闭退出的处理边界。393 收藏 -
Golang · Go问答 | 1个月前 | go · 性能排查 · net/http · HTTP客户端 · httptrace · DNS tls 连接复用 httptrace Go问答 HTTP请求慢
Go HTTP 客户端变慢时,只看总耗时无法判断卡在 DNS、建连、TLS 还是服务端响应。本文用 httptrace.ClientTrace 采集分段时间,结合连接复用标记和最小复查清单,定位一次请求变慢的真正环节。393 收藏 -
解释 Go slices.Clip 如何把子切片的容量收紧到长度,结合三索引切片、append 行为和大数组保留场景,给出可运行的验收代码与使用边界。393 收藏 -
flag.VisitAll 遍历的是 FlagSet 中已定义的全部参数,而 flag.Visit 只遍历本次 Parse 或 Set 后进入 actual 的参数。本文用一个命令行配置示例拆开两者边界,说明默认值、重复赋值和未解析参数该怎么排查。393 收藏 -
Go 的传统 encoding/json 会把 nil slice 编码为 null,把已初始化的空切片编码为 []。先由接口契约决定返回形状,再在成功响应的边界归一化并用测试锁定,避免前端空列表处理出现分支。392 收藏 -
Go 用 bufio.Scanner 读取日志、CSV 或命令输出时,遇到超长行可能直接停止。本文用最小实验复现 token too long,解释 Buffer、MaxScanTokenSize、SplitFunc 的关系,并给出 Scanner 与 bufio.Reader 的选型边界。391 收藏 -
Go 的 log/slog 用 WithGroup 给字段划分命名空间,但 With、WithGroup 和单次 LogAttrs 的先后顺序会影响最终结构。本文用一个请求日志例子说明字段如何继承、重复键如何处理,以及自定义 Handler 应该怎样保持同样的语义。391 收藏 -
slices.Concat 合并结构体切片时只复制结构体元素值,不会递归复制其中的指针、切片或 map 字段。本文用可运行示例区分元素隔离与引用字段共享,帮助判断修改结果后的影响范围。390 收藏 -
解释 Go context 取消后 goroutine 仍可能继续工作的原因,给出 select 监听、资源释放、退出确认和可复现检查方法。389 收藏 -
回答 Go 接口跨域时 OPTIONS 预检请求为什么会返回 404,给出标准库 http 中间件的最小写法、带路由框架时的变体、常见响应头坑点和发布前检查清单。388 收藏 -
Golang · Go问答 | 4天前 | 标准库 · go · 并发控制 · 故障排查 · 进程管理 · Go 外部命令 子进程 Cmd.WaitDelay CommandContext ErrWaitDelay
Go 程序调用外部命令时,子进程退出了但管道迟迟不关闭,Cmd.WaitDelay 如何限定等待边界?本文用 CommandContext、WaitDelay 和 ErrWaitDelay 拆开判断与收尾方式。387 收藏