美文网首页
go实现http服务二

go实现http服务二

作者: Uzero | 来源:发表于2018-01-01 12:29 被阅读0次

    比第一个版本更加底层。通过ServeMux来控制路由的访问,ServeMux本质上只是一个路由管理器,而它本身也实现了Handler接口的ServeHTTP方法

    server2.go 

    package main

    import (

            "io"

            "net/http"

            "log"

    )

    func main () {

            mux := http.NewServeMux()

            mux.Handle("/", &myHandler{})    

            mux.HandleFunc("/hello", sayTwo)

            err := http.ListenAndServe(":6066", mux)

            if err != nil {

                log.Fatal(err)

            }

    }

    // 自己实现一个handler,注册到mux中,然后再实现一个路由的注册

    type myHandlerstruct {}

    // 只需实现一个方法

    func (*myHandler) ServeHTTP (w http.ResponseWriter, r *http.Request)  {

            io.WriteString(w, "URL: " + r.URL.String())

    }

    func sayTwo (w http.ResponseWriter, r *http.Request) {

            io.WriteString(w, "this is version 2")

    }

    go run server2.go

    相关文章

      网友评论

          本文标题:go实现http服务二

          本文链接:https://www.haomeiwen.com/subject/tpqtnxtx.html