函数
Rust的函数基本形式是这样的
1 | fn a_func(a: i32) -> i32 { |
函数名是蛇形风格,rust不在意函数的声明顺序,只需要有声明即可
函数参数必须声明参数名称和类型
语句与表达式
这是rust非常重要的基础概念,我们可以认为函数体是由语句和表达式组成的
语句指的是执行某些操作并且没有返回值的步骤
例如
1 | let a = 5; // 正确 |
表达式有计算步骤且有返回值,例如
1 | a = 7 |
rust认为{}
内也是一个表达式
1 | let a = 1; |
需要注意的是,表达式的返回值是 a + b,代表整个表达式的返回值,加上;
之后就成了语句,就没有返回值了
返回值需要通过->
声明返回值类型,但是rust不支持自动返回值类型判断
函数体表达式不允许有返回值,不能使用return
条件语句
基本格式是这样的
1 | fn main() { |
- 条件是可以不用小括号的,当然要用也行
- 大括号是必须加的
- else if 和 C++ 是类似的
条件必须是bool类型的,不允许隐式类型转换
也可以用if else 写一个三目运算符
1 | fn main() { |
- 两个函数体表达式的返回值必须相同
- 必须有else
循环
while循环和其他语言是一样的
1 | fn main() { |
for循环是和python很像的,类似于C++的范围for
1 | fn main() { |
这里的a是数组,iter表示迭代器,后面我们会详细讲
也可以使用下标来访问数组
1 | fn main() { |
loop循环
相当于while true
break可以类似于return一样,让整个循环有一个返回值
除此之外也可以给循环设定标签,也就是可以在多层循环时,内部只需要一个break,就能退出所有循环,同时还能带出返回值