type Discoverer … type srvDiscover … // NewSRVDiscover constructs a new Discoverer that uses the stdlib to lookup SRV records. func NewSRVDiscover() Discoverer { … } func (d *srvDiscover) Discover(domain string, serviceName string) ([]string, error) { … }