【发布时间】:2019-04-06 18:17:47
【问题描述】:
用例
我正在使用 Shopify 的 sarama 库,它是一个客户端库。更具体地说,我使用的是 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 是一种接口类型)”。如何通过自己的方法扩展结构/接口?
【问题讨论】:
标签: go