这就是资源管理与错误处理考虑的一个原因
一. defer
1. defer保证在函数结束时发生.
2. defer列表为先进后出
3. 参数在defer语句时计算....错误处理
所谓的错误处理, 就是处理已知的错误, 不要抛出panic这样导致系统挂掉的错误发生....统一错误处理的逻辑
下面模拟一个web服务器, 在浏览器地址栏输入文件的url, 然后显示文件的内容....在url上输入一个地址, 然后显示文件内容
// 做一个显示文件的web server
func main() {
http.HandleFunc("/list/", func(writer http.ResponseWriter...异常也是可以封装的.
最后再来梳理这个小案例.
1. 我们有一个想法, 模拟web请求, 在浏览器url上输入一个文件路径, 打印文件的内容
2. 内容可能有错误, 进行异常处理.
3.