美文网首页
Rust学习 (五) 函数

Rust学习 (五) 函数

作者: Gascognya | 来源:发表于2020-09-15 08:18 被阅读0次

参数与返回值类型标注

fn test(a: str, b: int) -> bool {}
这与例如python的类型标注是同款方式

表达式与语句

rust的表达式的后面不加;,语句的后面才加。

1 + 5 + 3

{
    let x = 3;
    x + 1
}

这些都是表达式

函数的返回值,代码块的值

在rust中,最后一个表达式,代表着函数或者代码块的值,例如刚才提到的。

{
    let x = 3;
    x + 1
}

x + 1是代码块中最后一个表达式,它即代表着这个代码块的值

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

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

fn plus_one(x: i32) -> i32 {
    x + 1
}

在这个函数中,x+1plus_one()的返回值。如果将其换成

fn plus_one(x: i32) -> i32 {
    5
}

也是完全没有问题的。这相当于把其他语言中最后的return所省略了。
那么如果我们将其加上;

fn plus_one(x: i32) -> i32 {
    x + 1;
}

那么就会出现报错,因为x+1;是一个语句,不是表达式。所以这个函数没有返回值,但上面标注了-> i32,所以会报错。

关于表达式和返回值这点,一定要注意。因为其和其他语言的特性不同。

相关文章

  • Rust学习 (五) 函数

    参数与返回值类型标注 fn test(a: str, b: int) -> bool {}这与例如python的类...

  • rust函数

    学习rust函数,就需要从范式的角度学习,rust参照的范式有函数式、泛型、面向对象,这里的面向对象并非存粹的面向...

  • RUST 学习日记 第19课 ——函数(二)

    RUST 学习日记 第19课 ——函数(二) 0x00 回顾与开篇 上节初步了解了Rust的函数,这节课继续介绍...

  • RUST 学习日记 第18课 ——函数

    RUST 学习日记 第18课 ——函数(一) 0x00 回顾与开篇 上节学习了Rust的流程控制,了解了if和w...

  • Rust语言编程实例100题-059

    Rust语言编程实例100题-059 题目:Rust高阶函数练习。高阶函数是指以函数为参数或者返回值的函数,是函数...

  • Rust语言编程实例100题-060

    Rust语言编程实例100题-060 题目:Rust高阶函数练习。高阶函数是指以函数为参数或者返回值的函数,是函数...

  • Rust 学习笔记 - 函数

    Rust 是一门多范式的编程语言,但 Rust 的编程风格是更偏向于函数式的,函数在 Rust 中是“一等公民”。...

  • Rust基础学习-04-函数和表达式

    函数的定义 Rust 函数的定义是以 fn 开头,main 函数是Rust程序的入口函数 表达式 语句,是执行一些...

  • rust 闭包与同步

    rust 闭包与同步 rust 闭包 rust闭包中主要包括两个部分,闭包参数和闭包环境变量。闭包函数和函数参数使...

  • RUST 学习日记 第20课 ——闭包

    RUST 学习日记 第20课 ——闭包 0x00 回顾与开篇 我们已经通过两节课介绍了Rust的函数使用方法,尤...

网友评论

      本文标题:Rust学习 (五) 函数

      本文链接:https://www.haomeiwen.com/subject/efzvektx.html