package router /* NewRouter initializes a new router instance */ func NewRouter(urls map[string]string) (*Router, error) { /* copy elements from urls */ router := &Router{ urlMap: make(map[string]routeElement), } /* pre-initialize routes */ for key, path := range urls { if err := router.addRoute(key, path); err != nil { return nil, err } } /* return new Router object */ return router, nil }