Rust中表达式替代return的用法及if与match使用时机疑问
Rust编程风格疑问(Advent of Code练习相关)
我正在通过Advent of Code练习Rust来学习这门语言,最近也开始读Rust官方书籍——这门语言越来越吸引我了。但在遵循Rust编程风格上我有一些疑问:
刚在书里了解到,Rust里函数末尾用表达式代替return语句更符合惯用写法,所以我正在重构这几天挑战的代码,把return改成表达式,但遇到了两个具体问题:
1. get_top_three方法的写法疑问
我修改后的代码是先创建变量,再在if/else if/else分支里赋值,但我原本想完全去掉else,写成如下形式:
if current > first { (current, first, second); } else if current > second { top_three = (first, current, second); } else if current > third { top_three = (first, second, current); } (first, second, third)
这种写法是否可行?是不是更优?我习惯避免使用else表达式,直接返回“默认”结果,但不确定这符不符合Rust的惯用风格。
2. match与if的使用时机
我还不确定什么时候该用match替代if,如果有人能查看我的代码并给出这方面(或者其他任何)建议,我会非常感激。
内容的提问来源于stack exchange,提问作者ner0ck
相关产品推荐
相关产品推荐

