func (us urlStore) MustAdd(urlName, urlAddr string, params ...string) string {
	addr, err := us.Add(urlName, urlAddr, params...)
	if err != nil {
		panic(err)
	}
	return addr
}
Adds a Url and panics if error
package reverse
import (
	"errors"
	"fmt"
	"strings"
)
var Urls *urlStore
func init() {
	Urls = &urlStore{store: make(map[string]url)}
}
func Clear() {
	for k := range Urls.store {
		delete(Urls.store, k)
	}
}
func Add(urlName, urlAddr string, params ...string) string {
	return Urls.MustAdd(urlName, urlAddr, params...)
}
func AddGr(urlName, group, urlAddr string, params ...string) string {
	return Urls.MustAddGr(urlName, group, urlAddr, params...)
}
func Rev(urlName string, params ...string) string {
	return Urls.MustReverse(urlName, params...)
}
func Get(urlName string) string {
	return Urls.Get(urlName)
}
func GetAllUrls() map[string]string {
	out := map[string]string{}
	for key, value := range Urls.store {
		out[key] = value.url
	}
	return out
}
func GetAllParams() map[string][]string {
	out := map[string][]string{}
	for key, value := range Urls.store {
		out[key] = value.params
	}
	return out
}
type url struct {
	url    string
	params []string
}
type urlStore struct {
	store map[string]url
}
func (us *urlStore) Add(urlName, urlAddr string, params ...string) (string, error) {
	return us.AddGr(urlName, "", urlAddr, params...)
}