Go 中的 errgroup 包详解 Golang 的扩展并发库 golang.org/x/sync/errgroup 提供了对多协程任务进行管理和错误处理的便利功能。 与基础的 sync.WaitGroup 相比,errgroup.Group 在等待所有任务完成的同时,还会自动捕获第一个非 nil 错误并返回。如果通过 WithContext 创建 Group,当任一子任务返回错误时,errgroup 会取消关联的 Context,从而通知其他协程提前退出。 简言之,errgroup 封装了错误传播、上下文取消和并发控制等功能,使并发编程更加简洁易用。 基本用法 使用 errgroup 时,首先需要创建一个 Group 实例。可以直接用零值初始化:var g errgroup.Group,或者调用 errgroup.WithContext(ctx) 同时获取一个基于 ctx 派生的新 Context。典型的用法是对每个并发任务调用 g.Go(func() error) 来启动 goroutine。Group.Go 方法内部会自动执行 WaitGroup.Add(1),并在函数返回时执.... 有更新! errgroup详解 golang标准库
net 包是 Go 语言标准库中的一个核心网络编程包,提供了 TCP、UDP、IP、Unix 域套接字等通信方式的封装。它主要用于网络连接、服务器和客户端的开发。 1. net 包的主要功能 1.1 监听和连接 net.Listen(network, address): 创建监听器,等待客户端连接(如 tcp、udp)。 net.Dial(network, address): 创建到远程服务器的连接。 1.2 IP 地址和解析 net.LookupIP(domain): 解析域名获取 IP 地址。 net.ResolveTCPAddr(network, address): 解析 TCP 地址。 1.3 服务器开发 net.Listen + Accept 实现 TCP 服务器。 net.ListenPacket 处理 UDP 服务器。 1.4 客户端开发 net.Dial("tcp", "localhost:8080") 创建 TCP 连接。 net.DialUDP("udp", nil, udpAddr) 进行 UDP 连接。 2. 常见使用示例 2.1 TCP 服务器 package.... golang标准库之net golang标准库