HTTP服务

这篇博客介绍了如何使用Golang构建简单的HTTP服务,包括处理'/'和'/time'两个路由。通过`http.HandleFunc`注册路由,监听并启动服务器。文章还探讨了Golang的路由规则,强调最长匹配原则,并提及了默认路由处理。此外,还展示了在没有匹配项时返回404错误的情况。
摘要由CSDN通过智能技术生成

HTTP服务

HTTP服务


//简单语言+高效协程机制
import (
	"fmt"
	"net/http"
	_"net/http/pprof"
	"time"
)

func main()  {
	http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) {
		fmt.Println(w,"Hello World")
	})

	http.HandleFunc("/time", func(w http.ResponseWriter, r *http.Request) {
		t := time.Now()
		timeStr := fmt.Sprintf("{\"time\":\"%s\"}",t)
		w.Write([]byte(timeStr))
	})

	http.ListenAndServe(":8080",nil)
}

//观察Golang Http服务器的路由规则
//在空的时候 使用缺省的Router 根目录问题

//路由规则
//URL分两种 末尾是/: 表示一个子树 后面可以跟其他子路径;末尾不是/,表示一个叶子,固定的路径 以/结尾的URL可以匹配任何他的子路径
//它采用最长匹配原则,如果有多个匹配,一定采用匹配路劲最长的那个进行处理
//如果找不到任何匹配项,返回404错误

/*
func (sh serverHandler) ServeHTTP (rw http.ResponseWriter,req *http.Request)  {
	handler := sh.srv.Handler
	if handler == nil{
		handler = http.DefaultServeMux //使用缺省的Router
	}
	if req.RequestURI == "*" && req.Method == "OPTIONS"{
		handler = globalOptionsHandler{}
	}
	handler.ServeHTTP(rw,req)
}
*/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值