golang
已收录文章:257篇
-
Golang · Go教程 | 1星期前 | errgroup · Context · Go教程 · 后端工程 · Golang实战 · 并发治理 · golang Go 并发编程 错误处理 context errgroup 后端工程 生产实践 SetLimit从批量调用下游接口的并发扇出场景出发,讲清 errgroup.WithContext、Go、Wait、SetLimit、TryGo、错误传播、Context 取消和结果聚合的生产写法。197 收藏
-
gopsutil的CPU和内存数值与top、free不一致,因默认返回累计值而非瞬时率;CPU需两次调用取差值,内存应基于Available计算真实使用率,磁盘IO需限定设备并加超时控制。195 收藏
-
Go中策略模式通过接口定义算法契约,结构体实现具体逻辑,组合方式动态切换。1.定义PaymentStrategy接口统一Pay方法;2.Alipay、Wechat、CreditCard等结构体分别实现支付逻辑;3.OrderProcessor持有策略接口,运行时通过SetStrategy切换;4.使用map注册策略并工厂创建,避免if-else,支持配置驱动;5.策略应无状态以确保复用安全,符合Go组合优于继承的哲学。194 收藏
-
Golang通过多返回值和显式错误检查确保错误不被忽略,要求调用方主动处理错误,提升程序健壮性;使用error包装、自定义错误类型及errors.Is/As进行精确判断,避免忽略、重复记录或滥用panic,实现清晰可靠的错误处理。192 收藏
-
Golang中函数可通过指针修改外部变量,需在参数声明时使用定义指针类型,函数内通过解引用修改值,调用时用&传变量地址。例如modifyValue(&myVariable)可将myVariable的值改为100。此方式可直接修改调用者状态,避免频繁返回值赋值,提升大型数据处理性能。还可用于结构体字段修改与错误处理,如updatePersonAge(&person,31)成功更新年龄,而设为负数时返回错误。使用指针需防范空指针、野指针风险,应检查指针有效性并合理管理内存。186 收藏
-
Go语言通过ParseMultipartForm和MaxBytesReader限制文件上传大小,防止内存耗尽。ParseMultipartForm设置请求总大小上限并缓存内存,超限部分存临时文件;结合handler.Size校验单个文件大小,中间件统一限制更高效。186 收藏