For nslookup command, it has nslookup somewhere.com some.dns.server.
However, it seems that golang dnsclient only load config from /
Since a little while you can set the Dial for the Resolver, where you can define your nameserver in the DialContext
var resolver *net.Resolver
if nameserver != "" {
resolver = &net.Resolver{
PreferGo: true,
Dial: func(ctx context.Context, network, address string) (net.Conn, error) {
d := net.Dialer{}
return d.DialContext(ctx, "udp", net.JoinHostPort(nameserver, "53"))
},
}
} else {
resolver = net.DefaultResolver
}
After that you can go as you're used to:
ips, err := resolver.LookupIPAddr(context.Background(), "www.example.com")