为了账号安全,请及时绑定邮箱和手机立即绑定

在 go 中设置 http 处理程序

在 go 中设置 http 处理程序

Go
HUWWW 2021-08-10 20:42:22
我正在跟踪 go tour,其中一个练习要求我构建几个 http 处理程序。这是代码:    package mainimport (    "fmt"    "net/http")type String stringtype Struct struct {  Greeting string  Punct string  Who string}func (s String) ServeHTTP(w http.ResponseWriter, r *http.Request){    fmt.Fprint(w, s)}func (s *Struct) ServeHTTP(w http.ResponseWriter, r *http.Request){  fmt.Fprint(w, "This is a struct. Yey!")}func main() {    // your http.Handle calls here    http.ListenAndServe("localhost:4000", nil)    http.Handle("/string", String("I'm a frayed knot"))    http.Handle("/struct", &Struct{"Hello",":","Gophers!"})}代码编译并运行得很好但是我不确定为什么当我导航到localhost:4000/string或localhost:4000/struct我得到的只是来自默认 http 处理程序的 404 错误。我在这里遗漏了一步还是?
查看完整描述

2 回答

?
德玛西亚99

TA贡献1770条经验 获得超3个赞

您的代码停在ListenAndServe,这是阻塞的。(顺便说一句,如果ListenAndServe没有阻塞,main将返回并且进程将退出)

在此之前注册处理程序。


查看完整回答
反对 回复 2021-08-10
  • 2 回答
  • 0 关注
  • 145 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信