rust之函数

一、函数定义

函数在Rust中有着非常广泛的应用。其中重要的main函数了,它是大部分程序开始的地方。你应该也对fn关键字有印象,我们可以用它来声明一个新的函数。 Rust代码使用蛇形命名法(snake case)来作为规范函数和变量名称的风格(go语言与其相反是驼峰命名格式)。蛇形命名法只使用小写的字母进行命名,并以下画线分隔单词。函数声明中定义参数(parameter),它们是一种特殊的变量,并被视作函数签名的一部分(函数名和函数类型)。当函数存在参数时,你需要在调用函数时为这些变量提供具体的值。

下面demo1函数展示了Rust中参数的样子:

fn main() {
    demo1(5);
    demo2();
    println!("demo3:{}",demo3())
}

// 1.函数定义
fn demo1(x: i32) {
    println!("demo1:The value of x is: {}", x);
}

二、函数体语句和表达式

rust的语句和表达式最大的区别在于语句不会有返回值,表达式是有返回值的,比如:

// 2.函数体语句与表达式
fn demo2() {
    // 1.下面定义x就是一个语句,不是表达式
    let x = 5;
    // 2.右边'x+1'就是一个表达式,返回6绑定到y变量上
    let y = x + 1;
    println!("demo2:x={},y={}",x,y);
    // 3.花括号'{}'也是一个表达式
    let z = {
      let a = 3;
        a+1 // 后面不能有";",不然"a+1"就是语句了就没有返回值了
    };
    println!("demo2:z={}",z)
}

三、函数返回值

函数可以向调用它的代码返回值。虽然你不用为这个返回值命名,但需要在箭头符号(->)的后面声明它的类型。在Rust中,函数的返回值等同于函数体最后一个表达式的值。你可以使用return关键字并指定一个值来提前从函数中返回,但大多数函数都隐式地返回了最后的表达式。

// 3.函数返回值
fn demo3() -> i16{
    let x = 8;
    4+x // 后面不能带";",不能写成"4+x;",否则就是语句就没有返回值了,会报错:"implicitly returns `()` as its body has no tail or `return` expression"
    // 等价于下面写法
    //return 4+x
    //等价于下面写法,
    //return 4+x;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值