首页 > Web开发 > 详细

golang web初探

时间:2016-01-27 02:20:31      阅读:266      评论:0      收藏:0      [点我收藏+]

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

看浏览器显示信息

golang web初探

原文:http://qq466862016.iteye.com/blog/2273870

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!