package main import ( "context" "git.gqnotes.com/guoqiang/grpcexercises/calculator/pb" "log" ) // Average 计算平均数-双向流式 func Average(client pb.CalculateServiceClient) { // 构造数据 nums := []int64{1, 2, 3, 4, 5} avClient, err := client.Average(context.Background()) if err != nil { return } // 发送数据 for _, num := range nums { err = avClient.Send(&pb.AverageRequest{ Num: num, }) if err != nil { return } recv, err := avClient.Recv() if err != nil { return } log.Printf("num:%+v\trecv:%+v\n", num, recv) } // 关闭连接 err = avClient.CloseSend() if err != nil { log.Fatalf("failed to close: %v", err) return } }