func serveApp() {
mux := http.NewServeMux()
mux.HandleFunc("/", func(resp http.ResponseWriter, req *http.Request) {
fmt.Fprintln(resp, "Hello, QCon!")
})
http.ListenAndServe("0.0.0.0:8080", mux)
}
func serveDebug() {
http.ListenAndServe("127.0.0.1:8001", http.DefaultServeMux)
}
func main() {
go serveDebug()
serveApp()
}
但是,serveDebug 在单独的 goroutine 中运行,如果它只返回该 goroutine 将退出,而程序的其余部分继续运行。您的操作人员会不高兴地发现他们无法在需要时从您的应用程序中获取统计信息,因为 /debug 处理程序很久以前就停止了工作。
我是 Golang 和一般编码的新手。我在网上看到一篇文章,找到了这段代码。我将它复制并粘贴到我的编辑器中,然后输入go run main.go。该程序永远运行,没有任何错误。我可以毫无问题地卷曲它。为什么代码不好?我是一个菜鸟,我正在努力更好地理解这一点,如果这可以用简单的术语来解释,那就太好了。
手掌心
相关分类