我在 Go 中设置了一个 Gorilla Mux 路由器。我在该路由器中设置了路由,以及与这些路由关联的函数处理程序。如果您打开浏览器窗口并输入特定的 URL ,则路由器可以正常工作。但是,我遇到的问题是如果在命令行中输入 URL 该怎么办。我知道如何从命令行参数存储 URL,但我不知道如何将存储为 Go 中的 URL 变量的 URL 转发到路由器。比如,如果 URL 是在命令行中给出的而不是通过浏览器窗口输入的,你如何调用路由的函数处理程序?
代码:
u, err := url.Parse(os.Args[1])
if err != nil {
fmt.Println(err.Error())
}
host, port, _ := net.SplitHostPort(u.Host)
s := []string{":", port};
router := ANewRouter()
log.Fatal(http.ListenAndServe(strings.Join(s, ""), router))
//Route URL to router, somehow