Go教程
已收录文章:87篇
-
Golang · Go教程 | 1星期前 | 并发 · HTTP · 性能优化 · 故障排查 · Go教程 · Go Goroutine 连接复用 pprof http.Client close Response.BodyGo 服务里调用 http.Client 后,Response.Body 没有在所有路径关闭,连接会被持续占用,pprof 里常能看到 net/http 相关 goroutine 增长。用 defer resp.Body.Close()、完整处理响应体、复用 Client,并通过压测与连接指标复查,可以把这类问题收住。201 收藏
-
Golang · Go教程 | 1个月前 | errgroup · Context · Go教程 · 后端工程 · Golang实战 · 并发治理 · golang Go 并发编程 错误处理 context errgroup 后端工程 生产实践 SetLimit从批量调用下游接口的并发扇出场景出发,讲清 errgroup.WithContext、Go、Wait、SetLimit、TryGo、错误传播、Context 取消和结果聚合的生产写法。197 收藏
-
本文用一个 Go HTTP 接口示例,把 log/slog 的 JSONHandler、Logger.With、请求字段和本地检查串起来,说明如何把普通日志变成可检索、可过滤、可定位的结构化日志。194 收藏
-
Go 拼接文本时,strings.Builder、bytes.Buffer、[]byte 和 strings.Join 的选择取决于输出类型、是否需要读取字节以及片段是否已准备好。文章用最小示例、边界表和基准测试说明各自适用场景。188 收藏
-
Golang · Go教程 | 1个月前 | 并发编程 · CI · Go教程 · Go1.25 · 代码质量 · golang Go WaitGroup Go1.25 go vet HostPort围绕 Go 1.25 新增的 go vet waitgroup 和 hostport 检查,讲清 WaitGroup.Add 位置、IPv6 地址拼接、CI 门禁、误报处理和团队落地规范。185 收藏
-
Golang · Go教程 | 1个月前 | web安全 · Go教程 · 后端工程 · Golang实战 · net/http · CSRF · golang 安全 Go net/http HTTP服务 csrf Go1.25 CrossOriginProtection从后台接口 CSRF 风险出发,讲清 Go 1.25 net/http CrossOriginProtection 的判断逻辑、可信 Origin、拒绝日志、绕过白名单风险、预发测试和上线检查。183 收藏
-
用运行手册方式讲解 Go HTTP 服务优雅停机:识别 SIGTERM、停止接流量、等待正在处理的请求、设置超时退出,并给出回滚路径、告警确认和复盘清单。176 收藏
-
Golang · Go教程 | 3天前 | golang · HTTP · 安全 · Go教程 · net/http · 接口防护 · net/http 请求超时 MaxBytesReader Go HTTP 请求体限制 内存防护Go HTTP 服务接收上传、Webhook 或 JSON 请求时,单靠 ReadAll 很容易被异常大请求拖高内存。本文从请求体上限、读取超时、状态码和日志字段四个边界入手,给出一套可复查的 net/http 防护实现。173 收藏
-
Golang · Go教程 | 2星期前 | WaitGroup · 并发编程 · Go教程 · Go 1.25 · Go并发 WaitGroup errgroup Go 1.25 sync.WaitGroup.GoGo 1.25 为 sync.WaitGroup 增加 Go 方法,适合只等待一组 goroutine 完成的场景。本文用旧写法对比新写法,说明迁移边界、错误处理选择和最小验证方式。172 收藏
-
Golang · Go教程 | 1个月前 | goroutine · Context · 超时控制 · Go教程 · 后端开发 · Go Goroutine context 超时控制 WithTimeout Done QueryContext本文用完整工作流讲解 Go context 超时控制:从 HTTP 入口创建超时预算,把 ctx 传给 DB 查询和远程请求,到 goroutine 监听 Done、及时退出并释放资源,最后给出验证和上线清单。166 收藏
-
Golang · Go教程 | 1个月前 | WaitGroup · channel · 并发编程 · 优雅关闭 · Go教程 · WaitGroup Channel关闭 Go channel 并发收尾 done信号本文把 Go channel 关闭拆成一套可复用工作流:先确定谁负责关闭,再用 done 信号通知停止,用 WaitGroup 等待协程收尾,最后关闭结果通道并验证没有 panic 和泄漏。165 收藏
-
Golang · Go教程 | 6天前 | https · cors · chrome · Go教程 · Local Network Access · 内网接口 · 浏览器权限 Go CORS Go 内网接口 Chrome 142 Local Network Access targetAddressSpaceChrome 142 开始把从公网页面到本地 IP 或回环地址的请求放到 Local Network Access 权限提示之后。Go 服务端只补 CORS 头并不能替用户授予权限。本文用一个内网设备状态接口说明如何区分浏览器权限、HTTPS、Go CORS 和 iframe Permissions-Policy,避免继续套用已搁置的 PNA 预检方案。152 收藏