golang web部分初探
package main import "fmt" import "log" import "net/http" import "time" type HttpHander struct {} var urlMapping map[string] func(http.ResponseWriter,*http.Request) func main() { server := &http.Server{} server.Addr = ":8080" server.Handler = HttpHander{} server.ReadTimeout = 5 *time.Second server.WriteTimeout = 5 *time.Second urlMapping = make(map[string] func(http.ResponseWriter,*http.Request)) urlMapping["/get"] = Get urlMapping["/post"] = Post urlMapping["/delete"] = Delete urlMapping["/put"] = Put urlMapping["/update"] = Update err := server.ListenAndServe() if err != nil { fmt.Println("========") log.Println(err) } } func(HttpHander) ServeHTTP(response http.ResponseWriter, request *http.Request) { v,ok:= urlMapping[request.URL.String()] if ok { v(response,request) } else { log.Println("no url mapping found !") } } func Get(response http.ResponseWriter, request *http.Request) { response.Write([]byte("get ....")) } func Post(response http.ResponseWriter, request *http.Request) { response.Write([]byte("Post ....")) } func Delete(response http.ResponseWriter, request *http.Request) { response.Write([]byte("Delete ....")) } func Put(response http.ResponseWriter, request *http.Request) { response.Write([]byte("Put ....")) } func Update(response http.ResponseWriter, request *http.Request) { response.Write([]byte("Update ....")) }
在浏览器输入:
http://localhost:8080/get
http://localhost:8080/post
http://localhost:8080/delete
http://localhost:8080/update
http://localhost:8080/put
看浏览器显示信息