函数

    1. fn main() {
    2. println!("Hello, world!");
    3. another_function();
    4. }
    5. fn another_function() {
    6. println!("Another function.");
    7. }

    函数参数

    在函数签名中,必须 声明每个参数的类型。

    1. fn main() {
    2. another_function(5);
    3. }
    4. fn another_function(x: i32) {
    5. println!("The value of x is: {}", x);
    6. }
    7. // 多个参数
    8. fn main() {
    9. another_function(5, 6);
    10. }
    11. fn another_function(x: i32, y: i32) {
    12. println!("The value of x is: {}", x);
    13. println!("The value of y is: {}", y);
    14. }

    有返回值的函数

    1. fn five() -> i32 {
    2. 5
    3. }
    4. fn main() {
    5. let x = five();
    6. println!("The value of x is: {}", x);
    7. }
    8. -------------------------------------
    9. fn main() {
    10. let x = plus_one(5);
    11. println!("The value of x is: {}", x);
    12. }
    13. fn plus_one(x: i32) -> i32 {
    14. x + 1
    15. }

    语句和表达式

    Rust 是一门基于表达式(expression-based)的语言。
    语句Statements)是执行一些操作但不返回值的指令。
    表达式(Expressions)计算并产生一个值。

    有”;”结尾的是语句,不返回值。
    没有”;”结尾的是表达式,返回值。

    1. // 语句没有返回值
    2. fn main() {
    3. let y = 6;
    4. }
    5. ------------------------
    6. fn main() {
    7. let x = 5;
    8. // 表达式有返回值
    9. let y = {
    10. let x = 3;
    11. x + 1
    12. };
    13. println!("The value of y is: {}", y);
    14. }
    15. // ------- 这是一个表达式 start
    16. {
    17. let x = 3;
    18. x + 1
    19. }
    20. // ------- 这是一个表达式 end