我的目录结构如下所示:
myapp/
|
+-- moduleX
| |
| +-- views.go
|
+-- start.go
Run Code Online (Sandbox Code Playgroud)
应用程序start.go从那里开始,我从那里配置所有路由并从这里导入处理程序moduleX/views.go:
package main
import (
"net/http"
"github.com/gorilla/mux"
"myapp/moduleX"
)
func main() {
r := mux.NewRouter()
http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("./templates/static/"))))
r.HandleFunc("/", moduleX.SomePostHandler).Methods("POST")
r.HandleFunc("/", moduleX.SomeHandler)
http.Handle("/", r)
http.ListenAndServe(":8080", nil)
}
Run Code Online (Sandbox Code Playgroud)
现在我想添加更多模块,并问自己是否(以及如何)可以在urls.go文件中定义模块中的URL 并以某种方式"导入"它们start.go.具体来说,我想start.go知道所有somemodule/urls.go文件中的所有URL 只有一个导入或某种module.GetURLs功能.