知识卡片
error本身只是一个普通接口
内容
error 在 Go 里不是什么特殊的语言内建机制,它的真身就是一个只要求实现一个返回 string 的 Error 方法的普通接口。发散:这体现了 Go “能用接口解决的问题就不 单独发明新概念”的一致做法——错误处理机制没有专属的关键字或运行时特性,只是[[接口靠隐式满足而非声明实现]] 这条通用规则的一个具体应用场景。
参考来源
- 位置:《Head First Go语言程序设计》第11章《你能做什么:接口》(源文件:_epub-src/index_split_003.html)
- 结论依据:原文在该章节围绕“error在Go里不是什么特殊的语言内建机制,它的真身就是一个只要求实现一个返回string的Error方法的…”给出定义、示例或限制条件;摘录中的术语、代码片段或对比关系直接支撑本卡片的结论。
- 原始内容:,并使用 ResponseWriter上的Write方法将其添加到响应中。 check函数是这段代码中唯一真正新的部分。在这个Web应用程序 中,会有很多潜在的error返回值,我们不想编写重复代码来对它们一一 检查和报告。因此,我们将把每个错误传递给新的check函数。如果 error为nil,check将不执行任何操作,否则它将记录错…