走进 Rust:函数

Rust About 1,042 words

命名规范

使用蛇形命名法snake case(所有单词小写,使用_下划线分隔)命名函数名称。

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

fn another_function(x: i32, y: i32) {
    println!("The value of x is: {}", x);
    println!("The value of y is: {}", y);
}

Statements

语句。创建一个变量并用let关键字指定的代码段就是语句,如:let y = 6;就是一句语句。其他语言中可能可以使用x = y = 6这样的赋值方法,但在Rust中不能这样做。

fn main() {
    let y = 6;
}

Expressions

表达式。表达式也可以是语句的一部分,一个简单的数学操作、调用函数、调用宏、创建域的代码块{}都可以看作是表达式。

fn main() {
    let x = 3;

    let y = {
        let x = 5;
        x + 1;
        x + 2
    };
    // y=7
    println!("y={}", y);
}

函数返回值

函数上需使用->声明返回值类型,可以不使用return。在Rust中,函数的返回值等于函数主体块中的最后一句表达式的值,可以使用return关键字提前返回指定的值,但是大多数函数是隐式的返回最后一个表达式的值。

在函数five中既没有函数调用、宏、或其他let语句,仅仅只有数字5,在Rust中,这是完全合法的函数。

fn five() -> i32 {
    5
}

fn main() {
    let x = five();

    // The value of x is: 5
    println!("The value of x is: {}", x);
}

函数体中只有x + 1表达式,没有;封号。如果加了;将会报错:consider removing this semicolon

fn main() {
    let x = plus_one(5);

    println!("The value of x is: {}", x);
}

fn plus_one(x: i32) -> i32 {
    x + 1
}
Views: 2,550 · Posted: 2020-07-02

————        END        ————

Give me a Star, Thanks:)

https://github.com/fendoudebb/LiteNote

扫描下方二维码关注公众号和小程序↓↓↓

扫描下方二维码关注公众号和小程序↓↓↓


Today On History
Browsing Refresh