Go教程技术文章
-
介绍 Go billy.Filesystem.TempFile 的创建方式,演示如何在测试中保存路径,并用 t.Cleanup 按 Close 后 Remove 的顺序可靠清理临时文件。491 收藏 -
Go 代理要把上游响应逐块交给客户端时,可用 ResponseController 统一调用 Flush,并处理包装器、客户端断开、HTTP/2 与反向代理缓冲等边界。491 收藏 -
讲清 Go time.Ticker 的停止语义、context 取消、慢任务丢 tick 与服务关闭等待,给出可直接改造的周期任务循环。491 收藏 -
通过值接收者、指针接收者和 reflect.Type.NumMethod 的小实验,解释 Go 方法集如何影响接口实现判断,并给出编译期断言与边界检查方法。491 收藏 -
Go maps.DeleteFunc 用回调返回值决定删除或保留,直接修改原 map。本文用状态清理示例说明条件写法、结果核对、nil map 与 clear 的边界。491 收藏 -
Go net.SplitHostPort 遇到无端口、未加括号 IPv6 和空端口时分别怎样处理?本文用地址边界、错误类型、JoinHostPort 和输入预检说明正确写法。491 收藏 -
Golang · Go教程 | 2个月前 | HTTP · go · sse · 流式响应 · Go EventSource SSE Server-Sent Events http.Flusher ResponseController
Go 写 SSE 接口时,事件格式、Flush 和连接关闭必须同时成立:消息用空行分隔,写入后显式刷新,并监听请求 Context 的取消信号。本文比较 http.Flusher 与 ResponseController.Flush,给出一段能处理写入错误和客户端断开的最小实现。491 收藏 -
Go 的 http.Transport.Clone 适合从一份稳定的连接配置派生客户端,但它不会替你合并请求级 Header,也不该被当成共享运行状态的复制器。本文从连接池、Header 隔离和并发改造三个边界拆开 Clone 的正确用法。491 收藏 -
GOPRIVATE 负责声明私有模块路径,并默认影响公共代理与 checksum 数据库的使用;本文进一步区分 GONOPROXY、GONOSUMDB、GOPROXY 与 Git 凭据边界,给出直连和私有代理的配置方式与排查清单。490 收藏 -
Golang · Go教程 | 23小时前 | 标准库 · Go教程 · Go 结构化日志 log/slog HandlerOptions LevelVar slog.Leveler slog.Level
Go slog.Leveler 只需要实现 Level() slog.Level,就能把业务级别映射到可比较的日志数值,并接入 HandlerOptions.Level 做阈值过滤。本文说明固定级别、LevelVar 动态调节、自定义显示名称和常见边界。490 收藏 -
Golang · Go教程 | 2天前 | 切片 · 标准库 · 性能 · 内存管理 · Go教程 · Go 切片删除 slices.DeleteFunc slices.Delete 尾部清零 slices 引用释放
slices.Delete 与 DeleteFunc 都会原地整理切片并返回新的切片头。本文围绕指针元素和含引用字段的场景,说明为什么要接住返回值、为什么尾部清零能避免无效引用继续被底层数组持有,以及手写删除逻辑时应该补足哪些生命周期责任。490 收藏 -
围绕 Go 的 chacha20poly1305.New,说明 32 字节密钥、NonceSize、Seal/Open 输入准备,以及构造失败和认证失败时的处理顺序。490 收藏 -
Go types.Scope 可以通过 Children 递归列出函数体中的嵌套块级作用域。本文从 Func.Scope 开始,结合 Pos、End、Names、Parent 和 WriteTo 说明作用域树的遍历、位置输出与旧 API 兼容写法。490 收藏 -
Go image/png 通过 png.Encoder 的 CompressionLevel 控制编码策略,支持默认、无压缩、最快和最高压缩四种选择。本文用完整示例说明怎样接入 io.Writer、怎样处理编码错误,以及为什么 BufferPool 不能替代压缩级别设置。490 收藏 -
Go url.PathEscape 用于编码单个 URL 路径片段,不是整条 URL 或查询参数的通用编码器。本文结合动态资源标识、斜杠和空格等字符,说明 PathEscape 的使用位置,并比较 QueryEscape 与 url.URL 的选择边界。490 收藏