go -mux,为啥路由没有解析?

Posted

技术标签:

【中文标题】go -mux,为啥路由没有解析?【英文标题】:go -mux, why the route doesn't resolve?go -mux,为什么路由没有解析? 【发布时间】:2014-02-07 23:22:42 【问题描述】:

我正在尝试在 GAE 上部署我的第一个 golang 应用程序。由于某些原因,产品处理程序无法解决,我收到 404 错误。我错过了什么吗?

package test
import "github.com/gorilla/mux"
import (
    "fmt"
    "net/http"
)



func main() 
    r := mux.NewRouter()
    r.HandleFunc("/products", ProductsHandler)
    http.Handle("/", r)

       e := http.ListenAndServe(":8080", r)
    if e != nil 
      println(e.Error())
    


func ProductsHandler(w http.ResponseWriter, r *http.Request) 
    fmt.Fprint(w, "Hello, you!")

【问题讨论】:

ListenAndServe(":8080", nil) - 见golang.org/pkg/net/http/#ListenAndServe 【参考方案1】:

继续 AppEngine 将自动侦听正确的端口并提供http.DefaultServeMux。将您的 main 函数更改为 init 并删除服务逻辑,您应该一切就绪。

阅读Getting Started section on Requests and HTTP了解更多详情。

【讨论】:

是的,在 init() 方法中调用 http.HandleFunc 而不是 main 并完全删除 main。 App Engine 负责 main 方法。 请问使用 init 而不是 main 的原因是什么? J

以上是关于go -mux,为啥路由没有解析?的主要内容,如果未能解决你的问题,请参考以下文章

Go语言学习之路

如何配置go语言开发环境

go语言(golang)学习之路

2021-GO语言并发编程

2021-GO语言并发编程

Go语言泛型工具go2go