Rust学习入门--【9】Rust 函数

系列文章目录

Rust 语言是一种高效、可靠的通用高级语言,效率可以媲美 C / C++ 。本系列文件记录博主自学Rust的过程。欢迎大家一同学习。

Rust学习入门–【1】引言
Rust学习入门–【2】Rust 开发环境配置
Rust学习入门–【3】Cargo介绍
Rust学习入门–【4】Rust 输出到命令行
Rust学习入门–【5】源代码文件结构简介
Rust学习入门–【6】Rust 基础语法
Rust学习入门–【7】Rust 数据类型
Rust学习入门–【8】复合类型
Rust学习入门–【9】Rust 函数
Rust学习入门–【10】Rust 条件语句
Rust学习入门–【11】Rust 运算符
Rust学习入门–【12】Rust 循环
Rust学习入门–【13】Rust 字符串(上)
Rust学习入门–【14】Rust 字符串(下)
Rust学习入门–【15】Rust 所有权
Rust学习入门–【16】Rust 借用所有权 Borrowing / 引用
Rust学习入门–【17】Rust Slice(切片)类型



Rust 函数

函数是一组一起执行一个任务的语句块。

每个 Rust 程序都至少有一个函数,即主函数 main()。

除了使用 Rust 核心和标准库提供的函数外,我们还可以定义自己的函数。

fn <函数名> ( <参数> ) {<函数体>}

实例

fn main() {
    println!("Hello, world!");
    my_function();
}
//自定义的函数
fn my_function() {
    println!("Hello, Rust!");
}

注意:我们在源代码中的 main 函数之后定义了my_function。 Rust不在乎您在何处定义函数,只需在某个地方定义它们即可。


函数相关的数据

术语说明
函数定义函数定义其实就是定义一个任务要以什么方式来完成
函数调用函数只有被调用才会运行起来
函数返回值函数在执行完成后可以返回一个值给它的调用者
函数参数函数参数用于携带外部的值给函数内部的代码

函数定义

函数也不会凭空出现的,在使用一个函数前,我们必须先定义它。

定义函数时必须以 fn 关键字开头,fn 关键字是 function 的缩写。

函数内部必须包含函数要执行的具体代码,我们把这些代码称之为 函数体

函数名称的命名规则和变量的命名规则一致。

实例

fn main() {
	println!("调用my_function");
    my_function(3, 4);
}

fn my_function(x: i32, y: i32) {
    println!("x 的值为 : {}", x);
    println!("y 的值为 : {}", y);
}

运行结果:

x 的值为 : 3
y 的值为 : 4

函数调用

为了运行一个函数首先必须调用它。函数不像普通的语句,写完了会自动执行,函数需要调用才会被执行。否则看起来就像是多余的代码。

让函数运行起来的过程我们称之为 函数调用

如果函数定义了参数,那么在 函数调用 时必须传递指定类型的参数

函数返回值

函数可以返回值给它的调用者。我们将这些值称为 函数返回值

也就是说,函数在代码执行完成后,除了将控制权还给调用者之外,还可以携带值给它的调用者。

如果一个函数需要返回值给它的调用者,那么我们在函数定义时就需要明确中函数能够返回什么类型的值

Rust 语言的返回值定义语法与其它语言有所不同,它是通过在 小括号后面使用 箭头 ( -> ) 加上数据类型 来定义的。

同时在函数的代码中,可以使用 return 关键字指定要返回的值。

如果函数代码中没有使用 return 关键字,那么函数会默认使用最后一条语句的执行结果作为返回值。

1. 有 return 语句

function function_name() -> return_type {
   // 其它代码

   // 返回一个值
   return value;
}

2.无 return 语句

函数中最后用于返回值的语句不能有 分号 ; 结尾,否则就不会时返回值了。

function function_name() -> return_type {
   // 其它代码

   value // 没有分号则表示返回值
}

实例

fn main(){
   println!("my_fn1 value is {}",my_fn1());
   println!("my_fn2 value is {}",my_fn2());
}

fn my_fn1()->f64 {
   21.0/5.0
}

fn my_fn2()->f64 {
   return 22.0/5.0;
}

函数参数

函数参数 是一种将外部变量和值带给函数内部代码的一种机制。函数参数是函数签名的一部分。

Rust 中定义函数如果需要具备参数必须声明参数名称和类型:

实例

fn main() {
    my_function(5, 7);
}

fn my_function(x: i32, y: i32) {
    println!("x 的值为 : {}", x);
    println!("y 的值为 : {}", y);
}

运行结果:

x 的值为 : 5
y 的值为 : 7
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

文斗士

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值