Способ преобразования * grpcpool.ClientConn в * grp c .ClientConn - PullRequest
1 голос
/ 09 июля 2020

Я работаю в golang впервые и пытаюсь преобразовать переменную типа * grpcpool.ClientConn в * grp c .ClientConn.

Я хотел бы передать переменную в функция, которая принимает только * grp c .ClientConn. Я использую клиентскую заглушку grp c, для которой требуется тип * grp c .ClientConn, и я использую processout / grp c - go -pool для библиотеки объединения grp c. Я посмотрел на возможность использования Factory в pool. go, но я довольно застрял, так как это тип, который возвращает * grp c .ClientConn.

Есть ли у кого-нибудь предложения как я могу сделать это преобразование?

1 Ответ

2 голосов
/ 09 июля 2020

Я имею в виду, что структура grpcpool.ClientConn просто:

https://godoc.org/github.com/processout/grpc-go-pool#ClientConn

type ClientConn struct {
    *grpc.ClientConn
    // contains filtered or unexported fields
}

Так что я почти уверен, что вы можете просто сделать:

pool := &grpcPool.ClientConn{} // however you get one of these
SomeFunc(pool.ClientConn)

См. https://play.golang.org/p/YEzy4Wq8WF9 в качестве примера получения встроенной структуры

...