Go语言技术文章
-
Golang · Go教程 | 1天前 | 跨域 · cors · options · Go教程 · net/http · 跨域 Access-Control-Allow-Origin 预检请求 Options Go教程 Go CORS
Go 接口被浏览器拦跨域时,不是简单加一个星号就完事。本文从浏览器 CORS 预检请求讲起,用 net/http 写一个可控的跨域中间件,说明 Origin 白名单、OPTIONS 响应、请求头放行和安全注意点。275 收藏 -
Golang · Go问答 | 1天前 | EventSource · sse · Go问答 · http.Flusher · 实时推送 · EventSource FLUSH text/event-stream Go问答 http.Flusher Go SSE
Go 写 SSE 接口时,浏览器 EventSource 连上却不显示消息,常见原因是响应没有按 text/event-stream 格式输出、写入后没有 Flush、代理层开启了缓冲,或者连接超时策略不适合长连接。本文用一个最小示例拆清排查路径和修复要点。333 收藏 -
Golang · Go问答 | 1天前 | 并发安全 · RWMutex · sync.Map · Go问答 · map并发 · RWMutex sync.Map Go问答 Go map并发读写 concurrent map writes
Go map 不是并发安全容器,多个 goroutine 同时写或读写交错时可能触发 fatal error。本文从线上 panic 现场出发,说明如何复现、定位原因,并在 RWMutex、sync.Map 和单 owner 模型之间做选择。102 收藏 -
Golang · Go教程 | 1天前 | WaitGroup · 并发编程 · Go教程 · Go 1.25 · Go并发 WaitGroup errgroup Go 1.25 sync.WaitGroup.Go
Go 1.25 为 sync.WaitGroup 增加 Go 方法,适合只等待一组 goroutine 完成的场景。本文用旧写法对比新写法,说明迁移边界、错误处理选择和最小验证方式。172 收藏 -
Go 里 context 更适合作为一次请求或一次调用链的边界参数,而不是长期存进结构体。本文从适用压力、典型写法、反例和判断清单讲清什么时候传 ctx,什么时候不要存 ctx。166 收藏 -
Go 1.22 调整了 for 循环变量的作用域语义,常见的 goroutine 闭包引用循环变量问题会少很多。本文用代码对比讲清旧写法痛点、新规则、兼容注意和迁移建议。238 收藏 -
Go 项目日志从 fmt.Println 迁到 slog,不只是换一个打印函数。本文用接口调用链场景讲清 slog 字段设计、上下文传递、Handler 选择、敏感字段处理和灰度接入路径。217 收藏