Rust系列(4)函数
  oS1xgoxjr0QZ 2023年11月02日 40 0

函数

正如 Hello World 示例中的那样:

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

Rust 中使用关键字 fn 来声明一个函数。一般函数都会有入参和返回值。函数体包含了一系列的语句和表达式。

函数返回值可以使用 return 语句,也可以使用表达式。

函数的名字和变量一样,遵循蛇形命名法(snake case):

fn getPersonList () {} //  ×
fn get_person_list () {} // √

函数可以定义在任意位置,好似 JS 中的函数声明提升。

Rust 是强类型语言,声明函数时如果有参数,参数必须指定类型

fn main() {
    add(10, 20); // 30
}

// 两个参数都是 i32 类型的整数
fn add(a: i32, b: i32) {
   println!("{}", a + b);
}

函数若有返回值,必须通过 ->指明返回值的类型

fn main() {
    let res = add(10, 10);

    println!("函数 add 执行的结果是: {}", res);
}

// 两个参数都是 i32 类型的整数,返回值也是 i32
fn add(a:i32, b:i32) -> i32 {
   return a + b;
}

关于函数的返回值,容易发生混乱:

在 JS 中,使用 return 关键字来结束函数的执行,并将 return 后面的结果作为函数的返回值。

在 Rust 中,基本和 JS 差不多,可以使用 return 来返回函数的执行结果,就像上面那样。也可以使用一个表达式来作为函数的返回内容:

fn main() {
    let res = add(10, 10);

    println!("函数 add 执行的结果是: {}", res);
}

fn add(a:i32, b:i32) -> i32 {
    // `a + b` 是一条表达式,求值后,返回一个值.因为它是函数的最后一行,因此该表达式的值也就是函数的返回值。
    a + b
}

如果函数没有返回值,返回值的类型可以不写,也可以写成 -> ()

fn main() {
  foo(10);
}

fn foo(a:i32) ->() {
  println!("{}", a);
}

小结

本文介绍了 Rust 函数的声明方式,主要注意事项是参数和返回值的类型。如果有参数,一定要指定类型;如果有返回值,也要指定返回值的类型。

【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  oS1xgoxjr0QZ   2023年11月02日   42   0   0 数组Rust
  oS1xgoxjr0QZ   2023年11月02日   31   0   0 Rust
  dBFTbkVLMBge   2023年11月02日   29   0   0 Rust
  oS1xgoxjr0QZ   2023年11月02日   39   0   0 Rust
  oS1xgoxjr0QZ   2023年11月02日   24   0   0 Rust
  oS1xgoxjr0QZ   2023年11月02日   41   0   0 Rust
  oS1xgoxjr0QZ   2023年11月02日   48   0   0 Rust
  y5zqVixaDLkE   2023年11月02日   34   0   0 RustmysqlPostgreSQL
oS1xgoxjr0QZ