为什么Rust语言不支持三元表达式?

在Java, PHP语言中有一个我们常用的三元表达式写法, 而在Rust语言中这种三元表达式写法是不被支持的, 为什么呢?

最直接的就是 在Rust语言中可以将 if 条件表达式的值可以直接赋值给变量, 而JAVA,PHP, JS等支持三元表达式的语言是不行的。

Rust类"三元表达式"示例

rust 复制代码
let lat=102;

// 一行代码示例
let location = if lat==116 {"北京"} else {"昆明"};

// Rust还支持在{}中的多行代码,最后一条即表达式的返回值,且最后一行不需要加分号 ;

let location2 = if lat==116 {
    "北京"
} else if lat==102 {
    println!("你当前在昆明"); // 这里还可以有代码
    "昆明"
} else {
    "其他"
}


println!("{}", location); // 输出 昆明
相关推荐
覆东流2 小时前
7.Java数组
java·开发语言·后端
码行山野赴时序归途2 小时前
三道经典数组题:从暴力到最优的算法思维
c语言·开发语言·数据结构·算法·leetcode
lzhdim2 小时前
提高 SQL 语句执行速度的方法
java·开发语言·数据库·sql·oracle
JavaPub-rodert2 小时前
王仕宇在 Go Context 如何解决协程泄漏与超时控制
开发语言·后端·golang·iphone·javapub·王仕宇
ly76894 小时前
JavaScript 从入门到进阶:核心语法、异步编程与工程化实践
开发语言·javascript·ecmascript
落魄大学生之流水线上谋生计4 小时前
Java锁全面指南:从基础概念到企业级应用
java·开发语言
for_ever_love__4 小时前
python基础语法学习: 闭包
开发语言·python·学习·闭包
ly76894 小时前
Python 全面入门:从核心语法到工程实践
开发语言·python
艾伦_耶格宇5 小时前
【AI】-4 OpenCode Go 接入 Obsidian 完整指南
运维·开发语言·人工智能·agent·opencode
Flynt6 小时前
OpenAI把Codex底层从TS重写成Rust,我拆开看了下它的三层架构
rust·openai·agent