Voglio aggiungere un metodo util convenienza su gorilla/mux
tipi di route e router:
package util
import(
"net/http"
"github.com/0xor1/gorillaseed/src/server/lib/mux"
)
func (r *mux.Route) Subroute(tpl string, h http.Handler) *mux.Route{
return r.PathPrefix("/" + tpl).Subrouter().PathPrefix("/").Handler(h)
}
func (r *mux.Router) Subroute(tpl string, h http.Handler) *mux.Route{
return r.PathPrefix("/" + tpl).Subrouter().PathPrefix("/").Handler(h)
}
ma il compilatore mi informa
Impossibile definire nuovi metodi su tipo non locale mux.Router
Quindi come potrei raggiungere questo obiettivo? Posso creare un nuovo tipo di struttura con campi anonimi mux.Route e mux.Router? O qualcos'altro?
“extension methods are not object-oriented”
) per C #, ma quando li guardo oggi, mi sono subito ricordato delle interfacce di Go (e del suo approccio per ripensare l'orientamento degli oggetti), e quindi ho avuto proprio questa domanda.