首页 > 解决方案 > "->!" 是什么意思?在 Rust 中的意思

问题描述

最近我遇到了一段 Rust 代码,遇到了返回“!”的函数。而不是基本的变量类型,像这样:

fn my_function() -> ! {
    //function body
}

所以我想知道,这是什么意思。我无法在https://doc.rust-lang.org/book中找到有关这方面的信息 什么数据,函数返回这样的指标?

标签: rust

解决方案


这意味着函数永远不会返回(通常是因为它无条件地恐慌或以其他方式结束程序,或者因为它包含一个阻止返回发生的无限循环)。

附录将其描述为:

! 始终为不同功能的空底类型

其中“发散”的意思是“永不返回”。


推荐阅读