golang
已收录文章:173篇
-
正确配置Transport、设置超时、复用客户端可提升性能:1.配置MaxIdleConns、MaxIdleConnsPerHost和IdleConnTimeout以复用连接;2.设置Client.Timeout防止阻塞;3.复用http.Client实例避免资源浪费;4.根据监控调优参数并及时关闭响应体。414 收藏
-
Go中实现任务超时取消需用context.WithTimeout创建子上下文并defer调用cancel,监听ctx.Done()及时退出;context取消链为单向父子继承,子取消不影响父;I/O操作须用原生支持Context的方法或手动检查Done()。411 收藏
-
Golang函数参数始终为值传递,传递值类型时复制整个数据,函数内修改不影响原始变量;若需修改,则应传递指针。410 收藏
-
Golang多服务部署需结构清晰、容器化和自动化。1.设计模块化服务结构,各服务独立构建;2.用Docker容器化,docker-compose本地验证;3.Makefile或Go工具实现一键构建部署;4.可选Consul等服务发现。核心是标准化日志、配置、健康检查,提升协作效率。409 收藏
-
数组固定长度适合小数据,切片动态扩容更灵活;遍历和访问性能相近,但传参和扩容时切片更高效;建议小规模用数组,大规模及动态场景用切片并预设容量。398 收藏
-
select是Go语言中处理多通道操作的关键机制,类似switch但仅用于通道的发送或接收,当多个通道就绪时随机选择一个执行,确保并发安全与高效通信。395 收藏