servers/servers.go
func (s *Servers) UDPAddr(name string) (a *net.UDPAddr) {
	s.mu.Lock()
	defer s.mu.Unlock()

	for _, srv := range s.servers {
		if srv.name == name {
			return srv.udpAddr
		}
	}
	return nil
}
func (s *Servers) UDPAddr(name string) (a *net.UDPAddr) {
	s.mu.Lock()
	defer s.mu.Unlock()

	for _, srv := range s.servers {
		if srv.name == name {
			return srv.udpAddr
		}
	}
	return nil
}
// UDPAddr returns a UDP address of the listener that a server
// with a specific name is using. If there are more servers
// with the same name, the address of the first started server
// is returned.