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

分类: 计算机技术
推荐阅读:
Rust assert_eq宏的用法和示例 在 Rust 中,assert_eq宏用于比较两个值,如果它们相等,则程序将继续执行;如果它们不相等,则会导致panic,并在控制台输出相关信息。
Go语言的多返回值 Go语言革命性地在静态开发语言阵营中率先提供了多返回值功能。这个特性让开发者可以从原来用各种比较别扭的方式返回多个值的痛苦中解脱出来,既不用再区分参数列表中哪几个用于输入,哪几个用于输出,也不用再只为了返回多个值而专门定义一个数据结构。
Python super()函数 super() 函数用于调用父类的方法。当子类重写了父类的方法后,如果想要在子类中调用父类的方法,就可以使用 super() 函数。使用 super() 函数可以避免硬编码父类的名称,使代码更具可读性和可维护性。
MySQL AES_ENCRYPT()、AES_DECRYPT()函数 AES_ENCRYPT()和AES_DECRYPT()使用官方AES算法实现数据的加密和解密;其密钥默认长度为128位,默认块加密模式为ECB;
cannot use 1 (type int) as type bool in assignment错误的解决方法 在go语言中布尔类型不能接受其他类型的赋值,不支持自动或强制的类型转换。
在Windows系统下启动和终止MySQL服务 Windows平台下要启动MySQL服务只需以管理员权限运行命令net start mysql80,要关闭服务运行net stop mysql80;