上一节我们熟悉了标量和复合类型,知道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