知识卡片
强制return结尾防止逻辑遗漏
内容
在 Go 里,任何声明了返回值类型的函数,编译器都要求它必须以 return 语句结束,不能以其他语 句收尾,哪怕人眼看来所有分支都已经覆盖也不行;如果不满足,直接编译报错。发散:这是把”你的逻辑分支是否完备”这种本该留给测试或代码审查才能发现 的问题,提前挪到编译期由机器强制检查——凡是能被规则机械判定的正确性缺陷,就不该指望人在 阅读代码时凭经验发现。
参考来源
- 位置:《Head First Go语言程序设计》第3章《调用:函数》(源文件:_epub-src/index_split_000.html)
- 结论依据:原文在该章节围绕“在Go里,任何声明了返回值类型的函数,编译器都要求它必须以return语句结束,不能以其他语句收尾,哪怕人眼看…”给出定义、示例或限制条件;摘录中的术语、代码片段或对比关系直接支撑本卡片的结论。
- 原始内容:做任何其他需要 做的事情。 函数总是返回特定类型的值(并且只返回该类型)。若要声明函数 返回值,请在函数声明中的参数后面添加该返回值的类型。然后在函数 块中使用return关键字,后面跟着要返回的值。 然后,函数的调用者可以将返回值分配给一个变量,直接将它传递 给另一个函数,或者用它做任何其他需要做的事情。 函数返回值(续) 当retur…