Rust基础 - 函数

Rust基础 - 函数

  • 摘要
  • 函数

摘要

函数在所有编程语言中,是最基本的要素之一。它将具有特定目的语句,表达式组合在一起,实现特定功能。函数基本组成包括函数类型说明符fn,函数名,参数列表,返回值和函数体。

函数

fn sum(n1: i32, n2: i32) -> i32 {
    let sum = n1 + n2;
    sum
}

如上代码所示,是Rust中函数最常见的一种表现形式。更为复杂的函数如模板,声明生命期等将在后面文章中讲解。

Rust中所有函数都以关键字fn开头来标识,接着是函数名。在Rust中,函数和变量命名规则遵从蛇形命名法(snake case)。即类似total_num而不是totalNum或者TotalNum

函数名接着是圆括号括起来的参数列表。参数列表每一项格式是 参数名 + : + 参数类型, 参数之间又使用逗号分隔。

接着是函数的返回值标识。格式是:-> 返回值类型。函数的返回值是可选的,即有的函数是不必标注返回值的。没有标注返回值的函数,一律返回空元组类型,即:()

fn greeting() {
    println!("Hello, Rust!");
}

最后是函数体。函数体中包含了函数的实际功能代码,包括变量声明,分支逻辑,调用其他函数以及返回数据等等。Rust中函数返回值的方式是使用没有分号;的语句,如代码中最后一句代码——sum。它表示返回sum的值。所以上面的代码可以简化成:

fn sum(n1: i32, n2: i32) -> i32 {
    n1 + n2
}

这样,就表示返回n1n2相加之后的值。

如果需要提前返回,则可以使用return语句,如:

fn sum_positive(n1: i32, n2: i32) -> i32 {
    if n1 <= 0 || n2 <= 0 {
        return 0;
    }

    n1 + n2
}

在Rust中,if是表达式,即可以返回值。所以,如果不使用return语句,sun_positive函数可以写成:

fn sum_positive(n1: i32, n2: i32) -> i32 {
    if n1 <= 0 && n2 <= 0 {
        0
    } else {
        n1 + n2
    }
}

if else表达式有返回值,同时在函数末尾且没有分号,则函数会返回表达式的值。

以上是关于函数的基本内容和用法,实际函数还有更为灵活和强大的应用,如模板等,但在深入之前,让我们先掌握基本内容,打好基础,这些内容将在后续文章中深入讲解。

你可能感兴趣的:(Rust基础)