golang
已收录文章:198篇
-
围绕 Go 1.24 正式支持的泛型类型别名,讲清 type Alias[T] = ... 的语义、约束写法、API 迁移、兼容测试和公共库使用边界。339 收藏
-
Golang利用gorilla/websocket库可高效构建WebSocket实时通信服务,通过HTTP服务器升级连接,使用Hub管理客户端注册、消息广播与连接维护。339 收藏
-
必须手动构造multipart.Writer,禁用http.PostFile:后者将整个文件加载进内存易致OOM,不支持自定义Content-Type、额外字段及超时;正确做法是用multipart.NewWriter生成合法boundary,先WriteField再CreateFormFile,按序写入并用io.Copy流式传输,结尾调Close,且Content-Type必须设为w.FormDataContentType()返回的完整字符串。331 收藏
-
服务熔断通过自动切断故障依赖防止系统雪崩,gobreaker库以轻量方式实现该机制,支持状态监控与灵活配置,建议结合超时、重试策略及监控体系提升系统稳定性。329 收藏
-
模块化路由设计提升GolangWeb系统可维护性与性能。通过gin等框架按业务拆分路由组,实现清晰结构(如SetupUserRoutes管理用户路由);利用中间件分层调度,全局日志、局部权限校验(如AuthMiddleware作用于/api组)提升复用与安全;优化路由匹配,采用静态路径、减少嵌套、启用radixtree加速查找;结合配置中心动态注册路由,支持运行时更新。路由作为系统入口,需兼顾结构清晰与高效调度以支撑扩展。327 收藏
-
围绕 Go 1.25 新增的 reflect.TypeAssert[T],从反射类型断言、Interface() 分配、pprof 热点、benchmark/benchstat 和框架代码落地角度讲清使用边界。326 收藏