Go问答技术文章
-
Golang · Go问答 | 3天前 | HTTP · sse · Go问答 · 用户体验 · 流式响应 · Go EventSource SSE Go问答 Server-Sent Events 长任务进度 http.Flusher
用 Go net/http 实现一个长任务进度 SSE 接口,讲清任务提交、事件格式、http.Flusher、浏览器 EventSource、心跳保活、断开取消和资源清理。293 收藏 -
Golang · Go问答 | 2天前 | 中间件 · Context · Go问答 · 架构模式 · 代码边界 · 中间件 context Context.Value Go问答 WithValue 请求作用域 业务参数
Go context 可以放用户 ID、traceID 这类请求作用域值,但不适合替代函数参数。本文用中间件、Service 和 Repository 的边界示例说明怎么判断。269 收藏 -
Golang · Go问答 | 2天前 | HTTP · Cookie · 浏览器 · cors · Go问答 · SameSite · cookie cors Secure SameSite Go问答 Set-Cookie 跨站请求 credentials
Go 接口已经返回 Set-Cookie,但浏览器下一次请求不带 Cookie,通常要同时检查 SameSite、Secure、Domain、Path、CORS 和前端 credentials。246 收藏 -
回答 Go 并发读写 map 应该选 map+RWMutex、sync.Map 还是分片 map,按读写比例、热点键、维护成本和扩展性给出选择规则与代码示例。244 收藏 -
用 Go 的接口值模型解释 typed nil 坑:接口变量由动态类型和动态值两部分组成,只有两者都为空才等于 nil;当 error 接口保存了 nil 指针但动态类型存在时,err != nil 会成立。238 收藏 -
用两个最小复现解释 Go slice 的 append 行为:当 cap 够用时会复用底层数组,原 slice 可能被间接改动;当 cap 不够时会分配新数组,后续修改互不影响。236 收藏 -
Golang · Go问答 | 4天前 | 连接池 · 性能排查 · database/sql · Go问答 · Go 连接池 DBStats sql.DB WaitCount SetMaxOpenConns
用一个 Go 后端小实验解释 sql.DB 的 WaitCount 为什么增长,如何从 InUse、Idle、WaitDuration 判断连接池是否太小,并给出 SetMaxOpenConns、SetMaxIdleConns 的调参和验证清单。214 收藏 -
Golang · Go问答 | 2天前 | interface · 单元测试 · 架构设计 · repository · Go问答 · 单元测试 架构设计 interface 接口设计 Go问答 调用方定义 Repository
Go 项目里的 interface 通常更适合由调用方按需要定义,而不是在实现方提前造大接口。判断重点是依赖方向、测试替身、契约大小和未来演进成本。212 收藏 -
Golang · Go问答 | 3天前 | HTTP · net/http · Go问答 · 流式响应 · ResponseController · net/http FLUSH 流式响应 Go问答 ResponseController FullDuplex 写超时
用问答方式解释 Go net/http ResponseController 的定位、Flush、写入 deadline、FullDuplex 支持边界、兼容兜底和生产使用注意事项。161 收藏 -
本文用 Go 接口返回 JSON 的现象入手,逐步验证 nil slice 和空 slice 在 len、cap、底层数组、json.Marshal 输出上的区别,并给出 API 响应保持 [] 的初始化方案。157 收藏 -
本文用完整工作流讲解 Go defer 的常见疑问:为什么 defer fmt.Println(i) 打印旧值,defer 注册时参数何时保存,闭包为什么能读到新值,命名返回值如何在 defer 中包装错误,以及多个 defer 为什么按倒序触发。153 收藏 -
Golang · Go问答 | 2天前 | JSON · 后端开发 · Go问答 · encoding/json · 接口解析 · JSON解析 encoding/json DisallowUnknownFields Go问答 RawMessage json.Decoder UseNumber
Go 解析 JSON 不只看写法短不短。本文围绕字段稳定性、数据量、数字精度、未知字段和延迟解析,比较 struct、map、RawMessage 与 Decoder 的适用场景。151 收藏 -
本文回答 Go 里 sync.Once 为什么能保证函数只执行一次、多个协程同时调用时内部做了什么、以及在配置加载、单例初始化和懒加载里怎么安全复用。142 收藏 -
通过一个 Go map 并发读写 panic 案例,解释普通 map 为什么不是并发安全的,并对比 RWMutex、sync.Map、分片 map 和 channel 拥有者模式的适用场景。109 收藏