Вариант использования
Я использую библиотеку sarama от Shopify, которая является клиентской библиотекой. Точнее говоря, я использую ClusterAdmin
структуру, которая великолепна, однако я хочу добавить к ней еще один метод ListDetailedTopics
, и я должен вызвать непубличные методы ClusterAdmin.
https://github.com/Shopify/sarama/blob/master/admin.go
Задача
Я не уверен, как я мог "расширить" экспортированную структуру своим собственным методом. Я попробовал это:
func (ca *sarama.ClusterAdmin) ListDetailedtopics() {
b, err := ca.findAnyBroker() // This is a private method I need to call
}
Это не сработало, потому что «недопустимый тип получателя * sarama.ClusterAdmin (sarama.ClusterAdmin - это тип интерфейса)». Как я могу расширить структуру / интерфейс моими собственными методами?