【百例RUST - 004】函数使用

一、四类函数

第01节 无参数无返回值

rust 复制代码
fn main(){
    println!("函数的定义和使用");
    // 函数的调用
    method_name();
}


// 函数的定义  函数名称推荐是小写字母, 单词之间下划线隔开
fn method_name(){
    println!("我是无参数, 无返回值的函数");
}

第02节 有参数无返回值

rust 复制代码
fn main(){

    println!("函数的定义和使用");
    // 函数的调用
    let argument1 = 10;
    let argument2 = 6.6;
    let argument3 = "30";
    let argument4 = true;
    method_name(argument1, argument2, argument3.to_string(), argument4);

}


// 函数的定义  函数名称推荐是小写字母, 单词之间下划线隔开
fn method_name(param1 : i32, param2 : f32, param3 : String, param4: bool){
    println!("我是有参数, 无返回值的函数, 参数分别是 {} {} {} {}" , param1 , param2 , param3.to_string(), param4);
}

第03节 无参有返回值

rust 复制代码
fn main(){
    println!("函数的定义和使用");
    // 函数的调用
    let result = method_name();
    println!("返回结果是 {}" , result);
}


// 函数的定义  函数名称推荐是小写字母, 单词之间下划线隔开
fn method_name() -> i32 {
    println!("我是无参数, 有返回值的函数");
    return 66;
}

说明一下: 这里也可以直接返回 66 同时去掉 return分号

第04节 有参数有返回值

rust 复制代码
fn main(){

    println!("函数的定义和使用");
    // 函数的调用
    let argument1 = 4;
    let argument2 = 3;
    let result = method_name(argument1, argument2);
    println!("返回结果是 {}" , result);
}


// 函数的定义  函数名称推荐是小写字母, 单词之间下划线隔开
fn method_name(param1:i32, param2:i32) -> i32 {
    println!("我是有参数, 有返回值的函数");
    param1 + param2
}

二、相关问题

第01节 返回值问题

复制代码
1、对于返回值来说:
	A. 可以定义为 return 返回值;  
	B. 也可以省略 return 和 分号
	如果省略了 return 和 分号, 那么最后一个表达式将会作为 返回值。
	
2、省略的规则:
	如果要省略需要同时省略 return 和 分号

第02节 重载问题

复制代码
rust 没有函数的重载写法, 可以定义不同的函数名称, 实现不同的功能

第03节 可变参数

复制代码
rust 没有可变参数的函数写法。
相关推荐
小白学大数据2 分钟前
长周期爬虫的数据一致性:断点续爬 + 事务回滚保障采集质量
开发语言·爬虫·测试工具
那年窗外下的雪.11 分钟前
AIDC 学习日志 第 04 天 BGP Underlay 基础与路由选择
服务器·学习·php
0x5326 分钟前
Java网络编程(二)
java·服务器·网络
zlinear数据采集卡37 分钟前
D223上位机C#开发实战:从帧解析到波形显示的完整实现
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#
Poo_Chai1 小时前
QT emit信号后完整处理流程,包括槽函数响应流程
java·开发语言·数据库
Thneonl1 小时前
一个人从 Rust 内核做到 React 前端:我做了一个云原生 SRE 巡检图谱桌面工具
rust
瑞码空间1 小时前
Java 图形界面(GUI)完整知识点手册
java·开发语言·图形界面·swing
小努蛋2 小时前
linux编译openresty异常问题,lua_cjson.c:706:5: 错误: ‘for‘ 循环初始化声明只在 C99 或 C++ 模式下允许
开发语言·lua·openresty
程序员爱钓鱼2 小时前
Rust Struct结构体详解:定义自己的复杂数据类型
后端·面试·rust
qz_Serene2 小时前
C++:类和对象(上)
开发语言·c++