Go教程技术文章
-
Go 的 omitempty 只能按编码规则省略部分空值。把它与指针字段组合,可以清楚区分字段缺省、显式 null、空字符串和数字零值,适合 PATCH 请求与可选响应字段设计。136 收藏 -
pkg.go.dev v1 API 默认不返回完整文档与许可证列表。本文用 Go 构建批量汇总工具,说明 doc、licenses、module、version 参数,归并可再分发许可与文档状态,并处理路径歧义、429 限流和人工复核边界。136 收藏 -
Golang · Go教程 | 1星期前 | 缓存 · HTTP · go · Go net/http 静态文件 Cache-Control ETag If-Modified-Since ServeFile
用 net/http ServeFile 提供静态文件时,Last-Modified 和 If-Modified-Since 可以由文件修改时间驱动条件响应;ETag 与 Cache-Control 则需要业务方明确设置。本文从一个文件处理器拆开这些响应头的职责边界,并说明路径拼接、304 和缓存失效的常见陷阱。136 收藏 -
Go 用 fmt.Errorf 增加错误上下文时,应使用 %w 保留底层错误链,再交给 errors.Is 或 errors.As 判断;本文从常见误区出发,说明 %v 与 %w、单层和多层包装、nil 边界以及服务层返回约定。136 收藏 -
Golang · Go教程 | 6天前 | 日志 · HTTP · go · Context · slog · 可观测性 · Go context.Context 结构化日志 请求日志 log/slog slog.Logger
Go 的 log/slog 不会把 context.Context 中的值自动变成日志字段。更稳妥的做法是在 HTTP 入口用 Logger.With 固定 request_id、method、path 等请求属性,再把 context.Context 和这个 Logger 显式传给下游,并在需要时使用 InfoContext 或 LogAttrs。136 收藏 -
用 tview Pages 保留主界面并叠加 Modal,结合完整示例说明确认、取消、Esc、移除临时页和焦点恢复,对比隐藏复用与移除重建的生命周期取舍。135 收藏 -
Go 表驱动测试调用 t.Parallel 后,闭包捕获的用例值和共享切片、map 可能互相污染。本文说明如何复制当前用例、隔离可变夹具,并用 go vet 与 -race 找到剩余风险。135 收藏 -
TestMain 适合管理每个包只启动一次的昂贵资源,但不应承载单个用例的可变数据。本文用共享 httptest 服务演示包级生命周期、不可变入口、用例命名空间、t.Cleanup 与退出码处理,让并行测试共享资源而不互相污染。134 收藏 -
Go 的 json.Decoder 可以从 io.Reader 连续读取多个顶层 JSON 值。本文区分单对象、空白分隔对象流和 JSON 数组,给出 EOF 边界、错误处理与可复用读取函数的设计方式。134 收藏 -
用 Go parser.ParseExprFrom 解析单个表达式,结合 token.FileSet 还原文件名、行列和偏移,并说明语法错误时部分 AST 的处理边界。133 收藏 -
在 Go sqlmock 查询期望上配置 RowsWillBeClosed,并在函数返回后检查 ExpectationsWereMet。本文用提前返回的最小测试说明结果集关闭、自动关闭边界及资源责任的排查方法。133 收藏 -
Golang · Go教程 | 6天前 | 超时 · go · 性能 · HTTP客户端 · Go net/http HTTP超时 http.Transport ResponseHeaderTimeout
Go http.Transport 的 ResponseHeaderTimeout 只限制请求写完后等待响应头的时间,不包含响应体读取。本文拆分连接、TLS、响应头和整体请求四个阶段,给出复用 Transport 的配置方式与排障边界。133 收藏 -
掌握 Go sync.OnceValue 的一次初始化、并发调用与结果复用方式,了解 OnceValues、panic、可变指针和重置边界。132 收藏 -
Go 解析不带时区的日期时间文本时,time.Parse 会按 UTC 解释,time.ParseInLocation 会按传入 Location 解释。本文用对比代码说明选择方法、Zone 判断和输入边界。132 收藏 -
围绕 Go net/url 的 URL.OmitHost 字段,说明空 authority 的 String 序列化、Path 双斜杠保护、Opaque URL 区别和调用方兼容策略,给出带中文注释的最小示例。131 收藏