加defer的语句会延迟到函数调用结束返回时才执行,相当于finally...end区。存在多个defer语句时,最先出现的总是最后才执行。

虽然panic/recover组合可以模拟try...except...end,但不建议在编写普通函数时也经常性使用这种特性。

error是Go内置的错误接口,也是官方推荐的优先使用的错误处理方法。

Go很多方法最后一个返回值都是error类型的err,在进行下一步操作前,需要先判断err是否为nil,为nil则继续,否则进行错误处理。

至于自定义错误,在学完接口之后再说吧。