
http
直接newHttpClient()不适合高并发场景,因其导致端口耗尽、DNS缓存失效、连接池无法复用;应复用单例HttpClient并显式配置SocketsHttpHandler的MaxConnect...
Go中r.Body必须读完,否则HTTP/1.1连接复用可能失败;应显式读取(如io.Copy(io.Discard,r.Body)),JSON/XML解码可直接用json.NewDecoder(r....
多数主流CI平台预装Go但版本滞后,需显式指定版本(如1.22.5)并配置GOPROXY、GOSUMDB、CGO_ENABLED等环境变量以确保构建稳定复现。
pprof是性能优化的必选项,必须先用gotoolpprof定位CPU、内存、goroutine瓶颈,再针对性优化;盲目改代码90%是浪费时间。
Go无法直接嵌入.NET进程,因其依赖独立运行时;但可通过导出C兼容接口(cgo+buildmode=c-shared)生成动态库,再由.NETP/Invoke调用,或采用进程间通信(如gRPC、HT...
std::error_code比throw更轻量,适合高频预期错误;它是值类型、零开销、无RTTI/堆分配、支持多错误域和跨平台语义归一,需谨慎设计error_category边界。
ns/op更关键但需结合B/op判断:计算密集型以ns/op为首要指标,内存分配密集型则B/op更能暴露GC隐患;B/op高常因循环中反复make或字符串拼接,应预分配或用strings.Builde...
query参数必须用r.URL.Query()解析,它自动处理URL解码、重复键等;路径参数需依赖chi等路由库;JSON请求须用json.NewDecoder(r.Body)流式解码,不可用Pars...
本地启动多个微服务时端口冲突应避免硬编码,改用环境变量(如PORT)或自动探测可用端口(开发环境);服务间调用需统一网络地址(如host.docker.internal或127.0.0.1)并设置合理...
Saga模式在C#中落地需以状态机管理流程、异步幂等补偿;TCC则要求Try预留资源、Confirm/Cancel严格幂等且隔离;推荐MassTransit+EFCore组合,辅以结构化日志与死信兜底...