Go 实现Web框架Day6-7 学习笔记

Go 实现 Web 框架 Day6-7 学习笔记

极客兔兔大佬的《七天用Go从零实现系列》Day6 模板 Template,Day7 错误恢复学习笔记

文章目录

  • Go 实现 Web 框架 Day6-7 学习笔记
    • Day6-7 内容
    • 新的知识点
    • 开发内容
    • 思考题
    • 小结

Day6-7 内容

  • 实现静态资源服务
  • 实现动态内容的渲染
  • 实现服务端错误恢复

新的知识点

  • http.FileServer 使用
  • panic recover 恢复机制
  • golang 内置 html/template 的 HTML 模板渲染功能,template.Template
  • runtime.Callers runtime.Func 记录出错的栈信息

开发内容

内容地址

  • Go语言动手写Web框架 - Gee第六天 模板(HTML Template)
  • Go语言动手写Web框架 - Gee第七天 错误恢复(Panic Recover)

开发目的

支持网页的呈现,包括 js、css、html静态资源,以及模板实现的动态渲染内容,

增加panic recover 机制,以及Stack Trace 保证服务端运行的健壮性

开发步骤

  • 增加静态资源专用路由
  • 实现服务端静态资源的回写
  • 使用 html/template 包中的 template 做动态内容的渲染
  • 增加出错恢复的 Recovery 增强函数

思考题

  • panic 是什么,之后的语句还会执行吗?
  • defer 是什么,怎么使用,多个defer如何执行?
  • recover 如何使用?

最后答案单独列一篇,可以自己试着解答一下。

小结

本篇为 7天开发Web框架 Gee 的最后一篇,内容包括模板渲染和错误恢复。

  • 首先修改了之前静态资源路由 /assets/*filepath 的处理(之前只打印filepath),能够正常返回静态资源 js css html
  • 模板渲染直接使用了html/template提供的能力,并增加模板文件渲染的请求处理方法
  • 使用之前的增强函数,定制出错恢复机制,并增加 stack trace,方便错误定位

至此Gee 框架已经完工,涵盖了动态路由、分组鉴权、模板等功能,很适合新手来练手

你可能感兴趣的:(Go实战,Go,go,golang)