func (r *EnvResolver) Resolve() (string, error) {
	return os.Getenv(r.key), nil
}
Resolve resolves by looking for a key in the OS Environment
package dialer
import (
	"fmt"
	"os"
)
type Resolver interface {
	Resolve() (string, error)
	ResolveMany(int) ([]string, error)
}
type ConstantResolver struct {
	s string
}
func NewConstantResolver(s string) *ConstantResolver {
	return &ConstantResolver{s: s}
}
func (r *ConstantResolver) Resolve() (string, error) {
	return r.s, nil
}
func (r *ConstantResolver) ResolveMany(n int) ([]string, error) {
	all := []string{}
	if r.s != "" {
		all = append(all, r.s)
	}
	return all, nil
}
type EnvResolver struct {
	key string
}
func NewEnvResolver(key string) *EnvResolver {
	return &EnvResolver{key: key}
}