rust 语句与表达式 以及奇妙返回值

语句与表达式

rust中,分号结尾的是语句,没有分号结尾的是表达式

表达式会进行求值,然后返回一个值

函数也是一个表达式

如果一个表达式不返回任何值,那么就会返回()


rust中一个妙妙类型叫单元类型,其表示为(),对就是一对括号,唯一的值也是 ()。

谈谈奇妙的返回值

1. 单元类型()或者说无返回值

用途

做函数的返回值

震撼我一整年,fn main()中的()main函数的返回值。

你不能说 main 函数无返回值,因为没有返回值的函数在 Rust 中是有单独的定义的:发散函数( diverge function ),顾名思义,无法收敛的函数。

map中的占位符

你可以用 () 作为 map 的值,表示我们不关注具体的值,只关注 key。 这种用法和 Go 语言的 struct{} 类似,可以作为一个值用来占位,但是完全不占用任何内存。


2. 发散函数 !

又一个逆天语法

当用!作函数返回类型的时候,表示该函数永不返回( diverge function ),特别的,这种语法往往用做会导致程序崩溃的函数:

fn dead_end() -> ! {
panic!("你已经到了穷途末路,崩溃吧!");
}
posted @   wenli7363  阅读(164)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏
· Manus爆火,是硬核还是营销?
点击右上角即可分享
微信分享提示
评论
收藏
关注
推荐
深色
回顶
收起