Go 实现 Web 框架 Day1 学习笔记
在熟悉了 go 的语法之后,如何进行巩固和加深理解呢? 只有实际上手做项目,coding 起来,才可能有更深刻的认识。这里推荐极客兔兔大佬的《七天用Go从零实现系列》https://geektutu.com/post/gee.html。很适合学完语法的同学进行上手锻炼,在实践中学习和思考,再实践再学习,螺旋上升。
前置知识
- 使用 go 标准库的 net.http 开发 HTTP 功能
- type 关键字自定义类型
- 自定义 struct 绑定函数 ( 注意指针绑定和对象绑定的区别 )
- switch case 使用
- 如何实现接口
- go mod 使用
- fmt.Printf 各种格式使用
环境和工具
- win10 64位
- go 1.16
- VS Code
实际代码
操作顺序:
- 首先从 go 标准库自带的 net/http 包入手,实现基本的 HTTP 请求。
- 然后讲解了如何不依赖 http.HandleFunc ,实现我们自己的Handle。
- 进行一些简单的路由封装,测试功能
学习内容: https://geektutu.com/post/gee-day1.html
思考题
- 标准库中的 ResponseWriter 是接口而 Request 是结构体?
- fmt printf 有那些输出格式%v 与%+v的区别?
- 函数绑定在结构体对象和指针的区别?
- strunct{} 空结构体有什么用?
- 自定义对象 创建的有几种方式?
最后答案单独列一篇,可以自己试着解答一下。
小结
本节属于 web 框架 Gee 的day1 实践
- 简单介绍
net/http
库以及http.Handler
接口。- 搭建
Gee
框架的雏形,代码约50行。
内容不多,适合学习,不熟悉 http 包 API,跟着敲起来就慢慢熟悉了。