Rust语言从入门到入坑——(4)Rust语法(中)

文章目录

  • 0 引入
  • 1、函数
    • 1.1、函数参数
    • 1.2、函数体
    • 1.3、函数返回值
  • 2、条件语句
  • 3、循环
    • 3.1 、while
    • 3.2 、for
    • 3.3 、loop循环
  • 4、总结


在这里插入图片描述

0 引入

在这里我们需要介绍Rust语法,一共分三部分,第二部分主要是一些如函数,编程中的循环等语法的介绍,着重介绍与C不一样的地方。


1、函数

函数基本形式为:

fn <函数名> ( <参数> ) <函数体>

//如下定义
fn main() {
    println!("Hello, world!");
    test_function();
}

fn test_function() {
    println!("I am tester!");
}

注意 :

  • 1、Rust不在乎您在何处定义函数,只需在某个地方定义它们即可。

  • 2、Rust函数名称命名风格:小写字母以下划线分割

1.1、函数参数

Rust 中定义函数如果需要具备参数必须声明参数名称和类型:


fn main() {
    println!("Hello, world!");
    test_function();
}

fn test_function(x:i32,y:i32) {
    println!("I am tester!");
    println!("x 的值为 : {}", x);
    println!("y 的值为 : {}", y);
}

1.2、函数体

Rust 函数体由一系列可以以表达式(Expression)结尾的语句(Statement)组成。

fn main() {
    let x = 0;

    let y = {
        let x = 1;
        x + 1
    };

    println!("x 的值为 : {}", x);
    println!("y 的值为 : {}", y);
}

上述的 let y ={}这种格式这种表达式块叫做函数体表达式
注意:x + 1 之后没有分号,否则它将变成一条语句!

1.3、函数返回值

Rust 函数声明返回值类型的方式:在参数声明之后用 -> 来声明函数返回值的类型(不是 : )

fn add(a: i32, b: i32) -> i32 {
    return a + b;
}

但是 Rust 不支持自动返回值类型判断!如果没有明确声明函数返回值的类型,函数将被认为是"纯过程",不允许产生返回值,return 后面不能有返回值表达式。

注意:1、函数体表达式并不能等同于函数体,它不能使用 return 关键字。
2、函数支持嵌套。


2、条件语句

fn main() {
    let number = 3;
    if number < 5 {                    //可以不需要(number<5)的括号
        println!("条件为 true");
    } else {
        println!("条件为 false");
    }
}

注:

  • Rust 中的 if 不存在单语句不用加 {} 的规则,不允许使用一个语句代替一个块;
  • Rust 中的条件表达式必须是 bool 类型
fn main() {
    let a = 3;
    let number = if a > 0 { 1 } else { -1 };   //作用类似于三元运算符
    println!("number 为 {}", number);
}

3、循环

3.1 、while

fn main() {
    let mut number = 1;
    while number != 4 {
        println!("{}", number);
        number += 1;
    }
    println!("ok");
}

3.2 、for

or 循环是最常用的循环结构,常用来遍历一个线性数据结构(比如数组)。再Rust中是没有类似
for(int i =0;i<100;++i)这种形式,只能用while代替该功能,主要用法如下

fn main() {
    let a = [100, 200, 300, 400, 500];
    for i in a.iter() {
        println!("值为 : {}", i);
    }
}

3.3 、loop循环

Rust 语言有原生的无限循环结构- loop,然后用break退出循环,常用来做查找;

fn main() {
    let s = ['R', 'U', 'N', 'O', 'O', 'B'];
    let mut i = 0;
    loop {
        let ch = s[i];
        if ch == 'O' {
            break;
        }
        println!("\'{}\'", ch);
        i += 1;
    }
}

4、总结

Rus语法还是比较简洁和简答的,吸收了其他语言优秀的部分。

你可能感兴趣的:(rust,开发语言,后端)