Резолвинг через net.LookupHost, net.ResolveTCPAddr и при установке соединения (по умолчанию используется системный резолвер). Подмена для тестов: кастомный Resolver с полем Dial или подмена net.DefaultResolver. Для контроля над DNS (например, fallback) используют пакет net с Resolver.PreferGo и кастомным Dial.
addrs, err := net.LookupHost("example.com")
r := &net.Resolver{PreferGo: true}
ctx := context.Background()
addrs, err := r.LookupHost(ctx, "example.com")