1.5快速浏览下函数、控制流-世界关注

2023-02-07 00:03:35 来源:ByteBunny 分享到:

上一节我们熟悉了标量和复合类型,知道rust默认变量是不可变的,在编译时,编译器需要明确每个变量的大小,数组可以在栈上分配,因为他是固定大小。

我们现在要快速浏览一下rust的函数和控制流,他们和大多数语言类似,所以我们可以快速浏览一遍,我会着重讲rust不同的地方,或者是需要注意的点。


【资料图】

函数

rust的函数是一等公民,即函数可以作为参数,也可以作为返回值。如果没有返回值可以省略,则返回"unit",默认函数大括号最后一个表达式就是返回值(表达式需要计算出一个值,这个值就作为返回值啦,语句则不需要),若在中间语句需要返回,则使用‘return‘,若直到最后一个表达式都不需要返回,则需要在最后一个表达式后加上’;‘分号,返回‘unit‘。

噢~还有:函数和变量名需要使用‘蛇形命名法’~~即下划线连接小写字母。对于经常使用几种语言的开发来说挺内个的:)

下面是函数作为参数的例子,可以看到两个打印的结果是一致的。除此之外,被main()函数调用的函数在前面或者后面都可以:

顺便再啰嗦一下,rust的注释和C++一致,都可以使用‘//’行注释或者/**/块注释。

控制流

if表达式

if语句后面不需要括号“()”,直接计算表达式的值,满足则进入“if”语句之后的逻辑,若不满足则进入“else”后的逻辑。rust使用严格的语法检查,不会隐式转换表达式的值,所以若表达式的结果不是布尔值,则会直接报错~~

if语句不适合多个判断,若ifelse过多,可以考虑match(后面会详细介绍)。出自之外,if表达式还可以赋值给变量。

loop

用于一直循环某段逻辑~~感觉用的很少啦。

while

判断while()中表达式条件为“真”,循环,直到条件为“假”则停止循环。

for

主要用于遍历“集合”之类的,不用考虑计数,其内部已经帮我们做了,所以不会越界。

“break”和“continue”关键字:他们都是用于最近的内层结构(若只有一层当我没说~~),“break”是直接跳出循环,也可以直接跳到某行代码标签执行;而“continue”则是跳过当前循环,继续执行下一层循环!具体可以看一下这个例子:

其实今天的内容和其他语言比较类似,可以直接对比不同的地方就好了,有问题可以直接看rust的编译提示,不是有句话说得好吗?写rust就是各种和编译器做斗争,在初期,我们要勇于斗争!善于斗争~~~:)

好了,我们今天快速地学习了rust的函数和控制语句,大家有空的时候可以多练练手,熟能生巧嘛。对于今天的内容你有什么看法呢?欢迎在评论区留言讨论!如果觉得文章有用,记得点赞关注加收藏,以后就会第一时间收到文章推送啦:D

关键词:

Copyright   2015-2022 北方城建网 版权所有  备案号:京ICP备2021034106号-50   联系邮箱: 55 16 53 8@qq.com