Rust: 发散函数的设计初衷是啥
返回不了的函数随时随地都应可用,类型通配符使之通过类型检查。
■网友
文档 里说 Diverging function 是一种不会返回的函数,比如说 panic!() 还有死循环。Diverging function 的返回类型就是 \u0026#39;!\u0026#39;,读作 diverges。它可以被转换为任意的类型:fn main() { let a: i32 = f();}fn f() -\u0026gt; ! { panic!()}所以,它可以被放在函数最后返回:fn sum(a: i32, b: i32) -\u0026gt; i32 { panic!()}这样是可以通过类型检查的。或者放在 if 分支里:if a \u0026gt; b { true} else { panic!()}这样 if 每个分支返回的类型也都是一致的。
■网友
似乎和 ts 中的 never 一样
推荐阅读
- Rust 中循环啥时候使用loop 啥时候使用while true?
- C语言指数函数代码
- 单例模式static函数必须在头文件中实现么
- 函数|你要来试试吗?高中数学丨越做越起劲的100道高中数学函数类压轴题
- 咋用c语言或java打点出函数图
- javascript函数的调用模式有哪几种
- Python中的函数、方法,例如list的append()方法和del函数
- rust 和 go分别专注于哪些领域?
- 函数|原来……学霸是这样将数学提升到130+(附必修1-5学习重点及高中各阶段学习重点)
- 请教一个数值积分问题,怎样用matlab的quadgk函数来计算
