Rust 教程

浏览27781
更新时间2025-08-27

函数是可读、可维护和可重用代码的构建块。 函数是执行特定任务的一组语句。 函数将程序组织成逻辑代码块。 一旦定义,就可以调用函数来访问代码。 这使得代码可以重用。 此外,函数使程序代码的阅读和维护变得容易。

函数声明告诉编译器函数的名称、返回类型和参数。 函数定义提供了函数的实际主体。

Sr.No 函数 & 描述
1

定义函数

函数定义指定特定任务的完成内容和方式。

2

调用函数

必须调用函数才能执行它。

3

返回函数

函数还可以将值与控制一起返回给调用者。

4

参数化函数

参数是一种将值传递给函数的机制。

定义函数

函数定义指定特定任务的完成内容和方式。 在使用函数之前,必须对其进行定义。 函数体包含函数应该执行的代码。 函数的命名规则与变量的命名规则类似。 函数是使用 fn 关键字定义的。 下面给出了定义标准函数的语法

语法

fn function_name(param1,param2..paramN) {
   // function body
}

函数声明可以选择包含参数/参数。 参数用于将值传递给函数。

示例 - 简单函数定义

// 定义函数
fn fn_hello(){
   println!("hello from function fn_hello ");
}

调用函数

必须调用函数才能执行它。 此过程称为函数调用。 调用函数时应传递参数值。 调用另一个函数的函数称为调用函数。

语法

function_name(val1,val2,valN)

示例:调用函数

fn main(){
   //calling a function
   fn_hello();
}

这里,main() 是调用函数。

示例

以下示例定义了一个函数fn_hello()。 该函数将消息打印到控制台。 main() 函数调用 fn_hello() 函数。

fn main(){
   // 调用函数
   fn_hello();
}
// 定义一个函数
fn fn_hello(){
   println!("hello from function fn_hello ");
}

输出

hello from function fn_hello

从函数返回值

函数还可以将值与控制一起返回给调用者。 此类函数称为返回函数。

语法

以下语法均可用于定义具有返回类型的函数。

带有返回语句

// 语法1
fn function_name() -> return_type {
   // 语句
   return value;
}

没有 return 语句的简写语法

// 语法2
fn function_name() -> return_type {
   value // 没有分号表示返回该值
}

示例

fn main(){
   println!("pi value is {}",get_pi());
}
fn get_pi()->f64 {
   22.0/7.0
}

输出

pi value is 3.142857142857143

带参数的函数

参数是一种将值传递给函数的机制。 参数构成函数签名的一部分。 参数值在函数调用期间传递给函数。 除非明确指定,否则传递给函数的值的数量必须与定义的参数的数量相匹配。

可以使用以下技术之一将参数传递给函数 −

按值传递

调用方法时,会为每个值参数创建一个新的存储位置。 实际参数的值被复制到其中。 因此,对调用方法内的参数所做的更改不会对参数产生影响。

下面的示例声明了一个变量 no,最初为 5。该变量作为参数(按值)传递给 mutate_no_to_zero() 函数,该函数会更改 值为零。 函数调用后,当控制返回到主方法时,该值将是相同的。

fn main(){
   let no:i32 = 5;
   mutate_no_to_zero(no);
   println!("The value of no is:{}",no);
}

fn mutate_no_to_zero(mut param_no: i32) {
   param_no = param_no*0;
   println!("param_no value is :{}",param_no);
}

Output

param_no value is :0
The value of no is:5

通过引用传递

当您通过引用传递参数时,与值参数不同,不会为这些参数创建新的存储位置。 引用参数表示与提供给方法的实际参数相同的内存位置。 通过在变量名前加上 & 前缀,可以通过引用传递参数值。

在下面给出的示例中,我们有一个变量 no,最初为 5。对变量 no 的引用将传递给 mutate_no_to_zero() 函数。该函数对原始变量进行运算。 函数调用后,当控制返回到main方法时,原始变量的值将为零。

fn main() {
   let mut no:i32 = 5;
   mutate_no_to_zero(&mut no);
   println!("The value of no is:{}",no);
}
fn mutate_no_to_zero(param_no:&mut i32){
   *param_no = 0; //de reference
}

* 运算符用于访问存储在变量 param_no 指向的内存位置中的值。 这也称为解除引用。

输出将是 −

The value of no is 0.

将字符串传递给函数

main() 函数将一个字符串对象传递给 display() 函数。

fn main(){
   let name:String = String::from("TutorialsPoint");
   display(name); 
   // 显示后无法访问名称
}
fn display(param_name:String){
   println!("param_name value is :{}",param_name);
}

输出

param_name value is :TutorialsPoint

相关视频

更多

免费

phpStudy极速入门视频教程
初级phpStudy极速入门视频教程

54.6万次学习

收藏

免费

phpStudy V8 视频教程
初级phpStudy V8 视频教程

38.8万次学习

收藏

免费

小皮面板使用视频教程
初级小皮面板使用视频教程

21.6万次学习

收藏

免费

好课诞生记
初级好课诞生记

7.1万次学习

收藏

精品课程

更多
前端入门_HTML5
前端入门_HTML5

共29课时

65万人学习

CSS视频教程-玉女心经版
CSS视频教程-玉女心经版

共25课时

41.3万人学习

JavaScript极速入门_玉女心经系列
JavaScript极速入门_玉女心经系列

共43课时

76.8万人学习

独孤九贱(1)_HTML5视频教程
独孤九贱(1)_HTML5视频教程

共25课时

64.2万人学习

独孤九贱(2)_CSS视频教程
独孤九贱(2)_CSS视频教程

共22课时

24.4万人学习

独孤九贱(3)_JavaScript视频教程
独孤九贱(3)_JavaScript视频教程

共28课时

36.3万人学习

独孤九贱(4)_PHP视频教程
独孤九贱(4)_PHP视频教程

共89课时

133.5万人学习

热门下载

更多
phpStudy 2018最新版
phpStudy 2018最新版

集成PHP7,16种组合,超全大合集

下载

VC9 32位
VC9 32位

VC9 32位 phpstudy集成安装环境运行库

下载

VC11 32位
VC11 32位

VC11 32位 phpstudy集成安装环境运行库​

下载

php程序员工具箱完整版
php程序员工具箱完整版

程序员工具箱 v1.0 php集成环境

下载

VC14 32位
VC14 32位

VC14 32位 phpstudy安装环境运行库

下载

SublimeText3汉化版
SublimeText3汉化版

中文版,非常好用

下载

Notepad++ Windows版
Notepad++ Windows版

Notepad++ 8.9.7 Windows版官方安装包,适合 Windows 用户进行代码编辑、文本处理、语法高亮和插件扩展配置。

下载