Rust中的函数

函数在所有编程语言中都非常普遍,也非常重要;在Rust中,可以使用fn关键字来声明一个函数;

在Rust语言中使用fn关键字,后跟函数名和一对圆括号来定义函数,大括号则告诉编译器哪里是函数体的开始和结尾;

fn main(){
    new_function();
}

fn new_function(){
    println!("hello world");
}

这段代码包含两个函数,main()new_function()main()函数是程序的入口点,程序从该函数开始执行并调用了我们自定义的新函数new_function()

带参数的函数

函数的参数在圆括号内定义,以形参名:参数类型这种形式定义,例:x:u32

如果函数带有参数,必须声明每个参数的类型,如果有多个参数,使用逗号隔开;

fn main(){
    function_a(3.1415926);
    function_b(123,456);
}

fn function_a(pi:f64){
   println!("The value of PI is approximately: {}",pi); 
}

fn function_b(a:i32,b:i32){
    println!("The sum of the two values is: {}",a+b);
}

具有返回值的函数

在Rust中,不对返回值命名,但需要在圆括号后,花括号前使用->返回值类型这种形式来指明返回值类型;

在函数体中,使用return 关键字返回函数并指定返回值;

fn main(){
    println!("The value of PI is approximately: {}",pi()); 
}

fn pi() -> f64{
   return 3.1415926;
}

也可以以表达式的形式进行返回:

fn pi() -> f64{
   3.1415926
}

注意,上面这段代码没用使用return关键字,且没有以(;)分号结尾;

当以表达式作为函数返回值时,不能在尾部添加分号,否则会将表达式变成语句;

原创内容,如需转载,请注明出处;

本文地址: https://www.perfcode.com/p/function-in-rust.html

分类: 计算机技术
推荐阅读:
Golang结构体使用指针和值的传递问题 本文将详细讨论在Go语言中使用指针和值传递结构体的问题,以及他们的不同和需要注意的问题;
Golang逐行读取文本文件 当文件过大,不适合一次性载入内存,且文件每行都包含特定信息时,我们就需要逐行读取文件来保证程序的性能;
配置Nginx实现屏蔽爬虫IP 防止爬虫采集绝对是一个站长需要做的事;且不说站内资源被爬走,单是爬虫采集时消耗的服务器资源可能就够很多站长心疼了。
Python使用集合实现内容去重 有这么一个场景,某个文件用于记录人名(也可以是URL或者其他的),编辑发现,出现了重复的内容。那么我们如何使用Python来进行去重呢?
Rust中的变量、常量和可变性 Rust默认情况下变量是不可变的;注意这里不可变的变量并不是常量,有编程经验的朋友可能会觉得一头雾水,让我们继续往下看;
Rust env宏的用法和示例 在 Rust 中,env宏用于在编译时检查环境变量;该宏在编译时获取指定变量的值,返回一个&str类型,如果环境变量未定义,则会产生编译错误。