一、写在前面
之前用beego做了几个网站,觉得beego确实非常好用,大大简化了web的开发,但总是使用现成的框架,而不了解其背后的技术,感觉总是无法提高,这篇文章不是去分析beego的源代码,那个有点复杂了,而是仅仅使用go的标准库,将页面跑起来,来了解go的标准库是如何工作的的,我从做简单的页面开始,一步一步的实现那些框架所实现的东西:自定义路由,模板解析,模板函数,静态文件的处理,以及cookie和session的实现等等,最终我将只依赖标准库实现一个文件分享的网站,将其中的流程,细节,遇到的问题以及解决办法整理出来,和大家分享学习,如果有出错的地方,欢迎和我分享交流。
二、从最简单的页面开始
package main
import (
"fmt"
"net/http" //搭建web服务很重要的一个包
)
func Index(w http.ResponseWriter, r *http.Request) {
fmt.Fprintf(w, "Hello world,