package main import ( "git.gqnotes.com/guoqiang/grpcexercises/calculator/pb" "io" ) // Average 计算平均数-双向流式 func (s *Server) Average(stream pb.CalculateService_AverageServer) (err error) { var sum int64 var count int64 for { req, err := stream.Recv() if err == io.EOF { break } if err != nil { return err } sum += req.Num count++ if err := stream.Send(&pb.AverageResponse{Average: float32(sum) / float32(count)}); err != nil { return err } } return }