Go-Micro, возвращающий адрес локальной переменной выпуска
Код функции сервера:
func (s *service) CreateConsignment(ctx context.Context, req *pb.Consignment, resp *pb.Response) error {
consignment, err := s.repo.Create(req)
if err != nil {
return err
}
resp = &pb.Response{Created: true, Consignment: consignment}
return nil
}
Код клиента:
resp, err := client.CreateConsignment(context.Background(),consignment)
if err != nil {
log.Fatalf("create consignment error: %v", err)
}
Но клиентский ответ:
{false <nil> [] {} [] 0}
Единственный способ, которым я могу заставить его работать сейчас, это установить респ на сервере следующим образом:
resp.Created = true
resp.Consignment = consignment
Проблема здесь заключается в следующем:
resp = &pb.Response{Created: true, Consignment: consignment}
почему настройка соответственно работает вручную, а присвоение ее адресу новой локальной переменной - нет?