dial.go
func (d *Dialer) AddDialer(pd transport.Dialer) {
	d.Dialers = append(d.Dialers, pd)
}
func (d *Dialer) AddDialer(pd transport.Dialer) {
	d.Dialers = append(d.Dialers, pd)
}
// AddDialer adds a sub-dialer usable by this dialer.
// Dialers added first will be selected first, based on the address.