从零开始的Rust生活:03-控制流与逻辑运算符
前言
作为一款合格的程序语言,基本的控制语句是必须有的,而对于Rust来说她的控制流语句相对于传统的语言来说都要更为丰富,本文将会大体地介绍Rust的各类控制语句及其的基本用法。
if
1 |
|
match
说到了if
,自然少不了我们的好朋友switch
,不过非常喜闻乐见的是Rust并没有switch
,取而代之的是功能强大的match
。match
作为Rust中著名的条件选择语句,它不止用于多条件的判断控制,它还经常出现于Option
的判断等等各类None
类型或者错误处理的场景。常见的match
的使用场景如下
1 |
|
这里我们可以看到Rust的match
语句支持单行或者多行的情况,其中多行的情况必须使用大括号包起来,同时match
同样有一个_
分支,这个分支一般是作为default分支存在。有一点非常重要,所有分支的返回值类型必须相同。
但是前面又提到了match
相对于switch
更为强大,所以这里我们将会探讨之所以match
强大的原因
match可以作为表达式
在Rust中,match有一个非常常用的用法,在这种情况下所有的分支都必须要有返回值,就像这样
1 |
|
在这种情况下各个代码块最终的执行后的返回值将会被赋给s
match的分支条件可以用于解包各类enum
上面也说到了match
可以用于处理Option<T>
类型,在Rust中我们可以这样用
1 |
|
就像这样,Rust可以利用match
语句轻松地解决Option<T>
类型的问题。
后记
在写了四篇Rust的博客之后,我突然发现自己对Rust的理解非常的零散肤浅,所以从本篇开始《从零开始的Rust生活》系列将会暂时停更,待到我更加了解Rust后再继续进行更新。接下来本博客将会开始逐步更新本人的Rust学习记录,同步于本人的Rust的学习进程。
从零开始的Rust生活:03-控制流与逻辑运算符
http://anyin233.github.io/2020/11/27/Rust-03/