code: func (dnsClient *DNSClientImpl) LookupTXT(ctx context.Context, hostname string) ([]string, []string, error) {
  	var txt []string
  	dnsType := dns.TypeTXT
  	r, err := dnsClient.exchangeOne(ctx, hostname, dnsType)
  	if err != nil {
  		return nil, nil, &DNSError{dnsType, hostname, err, -1}
  	}
  	if r.Rcode != dns.RcodeSuccess {
  		return nil, nil, &DNSError{dnsType, hostname, nil, r.Rcode}
  	}
  
  	for _, answer := range r.Answer {
  		if answer.Header().Rrtype == dnsType {
  			if txtRec, ok := answer.(*dns.TXT); ok {
  				txt = append(txt, strings.Join(txtRec.Txt, ""))
  			}
  		}
  	}
  
  	authorities := []string{}
  	for _, a := range r.Ns {
  		authorities = append(authorities, a.String())
  	}
  
  	return txt, authorities, err
  }
docs: // LookupTXT sends a DNS query to find all TXT records associated with
  // the provided hostname which it returns along with the returned
  // DNS authority section.