Golang-----通过结构体实现处理器

/**
	方法和函数的区别是?
方法前面有括号
 */
 // 自己实现一个 服务器

type MyHandle struct {

}

func (myHandle *MyHandle) ServeHTTP (w http.ResponseWriter, r *http.Request)  {
	//log.Fatal("通过自己创建处理器处理请求")
	fmt.Fprintln(w,"通过详细配置处理器处理请求")

}

func main() {

/*	// 方法一实现
	myHandle := MyHandle{}
	http.Handle("/myHandle",&myHandle)
	http.ListenAndServe(":8080",nil)*/

	// 方法二实现
	 myHandle:=MyHandle{}
	server:=http.Server{
		Addr:":8080",
		Handler:&myHandle,
		ReadHeaderTimeout:2*time.Second,
	}
	server.ListenAndServe()
}

创建多路复用器

// 创建处理器函数
func handler2(w http.ResponseWriter , r *http.Request)  {
	fmt.Fprintln(w,"通过自己创建多路复用器创建的处理器",r.URL.Path)
}
func main() {

	// 创建多路复用器
	mux:=http.NewServeMux()
	mux.HandleFunc("/",handler2)
	//http.ListenAndServe(":8080",nil)u
	http.ListenAndServe(":8080",mux)
}

 

 

おすすめ

転載: blog.csdn.net/qq_35361859/article/details/103760578