【Rust】函数

目录

思维导图

1. 函数的基本概念

1.1 函数的定义

2. 参数的使用

2.1 单个参数的示例

2.2 多个参数的示例

3. 语句与表达式

3.1 语句与表达式的区别

3.2 示例

4. 带返回值的函数

4.1 返回值的示例

4.2 返回值与表达式

5. 错误处理

5.1 错误示例


思维导图

1. 函数的基本概念

        Rust语言中,函数是代码中常见的构造,主要用于组织和复用代码。main函数是大多数程序的入口点,并引入了fn关键字用于定义新函数。

1.1 函数的定义

  • 定义方式:通过fn关键字后接函数名和一对括号来定义函数。
  • 代码示例
    fn main() {
        println!("Hello, world!");
        another_function();
    }
    fn your_function() {
        println!("Your function.");
    }
    
  • 调用函数:可以在main函数内调用其他已定义的函数,如your_function

2. 参数的使用

        Rust允许函数定义参数,参数是函数签名的特殊变量,允许向函数传递具体的值。

2.1 单个参数的示例

  • 代码示例
    fn main() {
        your_function(5);
    }
    fn your_function(x: i32) {
        println!("The value of x is: {x}");
    }
    
  • 输出:运行后将打印The value of x is: 5

2.2 多个参数的示例

  • 代码示例
    fn main() {
        print_multiparameter(5, 'h');
    }
    fn print_multiparameter(value: i32, unit_label: char) {
        println!("The result is: {value}{unit_label}");
    }
    
  • 输出:运行后将打印The result is: 5h

3. 语句与表达式

        Rust语言中,函数体由一系列语句组成,这些语句可以选择性地以表达式结束。

3.1 语句与表达式的区别

  • 语句:执行某个操作但不返回值,例如变量声明。
  • 表达式:计算并返回值,例如数学运算5 + 6

3.2 示例

  • 代码示例
    fn main() {
        let y = {
            let x = 3;
            x + 1
        };
        println!("The value of y is: {y}");
    }
    
  • 输出:将打印The value of y is: 4

4. 带返回值的函数

        函数可以返回值,返回值的类型需要在箭头->后声明。

4.1 返回值的示例

  • 代码示例
    fn num() -> i32 {
        6
    }
    fn main() {
        let x = num();
        println!("The value of x is: {x}");
    }
    
  • 输出:运行后将打印The value of x is: 6

4.2 返回值与表达式

  • 重要性:函数的返回值是函数体内最后一个表达式的值。
  • 示例
    fn add_one(x: i32) -> i32 {
        x + 1
    }
    
  • 注意:如果在返回值的表达式后加上分号,将导致错误,因为分号会将表达式变为语句,不再返回值。

5. 错误处理

        若在函数中不正确地使用分号,会导致类型不匹配的错误,编译器会给出相应的错误信息以帮助调试。

5.1 错误示例

  • 代码示例
    fn add_one(x: i32) -> i32 {
        x + 1; // 错误:这里不返回值
    }
    
  • 错误信息:编译器会提示 mismatched types即类型不匹配,因为函数声明期望返回 i32类型,但实际返回的是(),即unit类型。

tips:

  • 蛇形命名法;
  • 必须声明参数类型
  • 有返回值时,必须是表达式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值