2
วิธีการเพิ่มวิธีการใหม่ในประเภทที่มีอยู่ใน Go?
ฉันต้องการเพิ่มวิธีการใช้งานที่สะดวกในgorilla/muxประเภทเส้นทางและเราเตอร์: 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) } แต่คอมไพเลอร์แจ้งให้ฉันทราบ ไม่สามารถกำหนดวิธีการใหม่บน mux.Router ประเภทที่ไม่ใช่โลคัล แล้วฉันจะบรรลุเป้าหมายนี้ได้อย่างไร? ฉันสร้างประเภทโครงสร้างใหม่ที่มีช่อง mux.Route และ mux.Router แบบไม่ระบุชื่อหรือไม่ หรืออย่างอื่น?
129
go
extension-methods