函数

收藏433

阅读11133

更新时间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

相关

视频

RELATED VIDEOS

更多

免费

phpStudy极速入门视频教程

免费

Midjourney基础课程
初级 Midjourney基础课程

11149次学习

收藏

免费

极客学院Git使用视频教程

免费

尚观shell视频教程
高级 尚观shell视频教程

15709次学习

收藏

免费

尚观Linux入门视频教程
初级 尚观Linux入门视频教程

42887次学习

收藏

免费

尚观Linux初级视频教程
初级 尚观Linux初级视频教程

40264次学习

收藏

免费

尚观Linux中级视频教程
中级 尚观Linux中级视频教程

48298次学习

收藏

免费

尚观Linux高级视频教程
高级 尚观Linux高级视频教程

41982次学习

收藏

科技资讯

更多

精选课程

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

共29课时

61.7万人学习

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

共25课时

39.3万人学习

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

共43课时

70.9万人学习

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

共25课时

61.6万人学习

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

共22课时

23万人学习

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

共28课时

33.9万人学习

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

共89课时

125万人学习

关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号