Я пытаюсь создать веб-приложение MVC в golang, не используя никаких фреймворков. Как я планирую этого добиться, это создать экземпляр http.Server {} с http.NewServeMux () в качестве его обработчика, как указано ниже:
sm := http.NewServeMux()
sm.Handle("/route1", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
http.ServeFile(w, r, "static/front-office/index.html")
}))
sm.Handle("/route2", handleSomething())
sm.Handle("/route3", handleSomething())
sm.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("static"))))
frontEndUIServer := http.Server{
Addr: ":9000",
Handler: sm,
}
go frontEndUIServer.ListenAndServe()
, а затем сделать свойство sm
экспортируемым, чтобылюбые другие файлы go могут импортировать его и создавать на нем обработчики, тем самым реализуя мой контроллер. Поскольку я новичок в goLang, мой вопрос сейчас заключается в том, как сделать свойство sm
экспортируемым?