乐趣区

关于rust:rust学习方程functions

rust 中所有的函数以 fn 关键字进行结尾,其中入口文件 main.rs 中的
fn main(){} 是主函数,也即不须要 main() 就主动默认运行的函数。

1、rust 中的函数就像是应用 var 进行定义的函数一样,能够在应用之前就进行定义或者在之后进行定义,例如:

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

    another_function();}

fn another_function() {println!("Another function.");
}
// 运行后果:$ cargo run
Hello, world!
Another function.

2、函数传参(能够定义数据类型等):

fn main() {another_function(5, 6);
}

fn another_function(x: i32, y: i32) {println!("传入的 x 为: {}", x);
    println!("传入的 y 为: {}", y);
}

// 运行后果:$ cargo run
传入的 x 为: 5
传入的 y 为: 6

3、特地,在 rust 中,定义的语句不会返回值,这点跟 js 是一样的,例如:

fn main() {let x = (let y = 6);
}
运行后果:`note: variable declaration using `let` is a statement`

在 rust 中大括号 {} 代表一个作用域相似于 js 中的闭包,例如:

fn main() {
    let x = 5;

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

    println!("y 的值为: {}", y);  // 运行后果:y 的值为: 4
}

4、函数返回值的表白:
rust 的函数返回有两种模式,一种相似于 js 中的return @要返回的变量,还有一种是写在作用域最初一行不要带分号;,例如:

fn five() -> i32 {5}

fn six() -> i32 {return 6;}

fn add_num(origin: i32) -> i32 {origin + 100}

fn main() {let x = five();
    let y = six();
    let z = add_num(10);

    println!("x 的值为: {}", x); // x 的值为:5
    println!("y 的值为: {}", y); // y 的值为:6
    println!("z 的值为: {}", z); // z 的值为:110
}
退出移动版