entry.go
func (e *Entry) traverse(method, urlStr string) (*Route, []string) {
	for _, entry := range e.entries {
		if h, params := entry.exec(method, urlStr); h != nil {
			return h, params
		}
	}
	return nil, nil
}
func (e *Entry) traverse(method, urlStr string) (*Route, []string) {
	for _, entry := range e.entries {
		if h, params := entry.exec(method, urlStr); h != nil {
			return h, params
		}
	}
	return nil, nil
}
// traverse tries matches to child entries.