`
qq466862016
  • 浏览: 125703 次
  • 来自: 杭州
社区版块
存档分类
最新评论

golang web初探

阅读更多

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

看浏览器显示信息

3
4
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics