【百例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 没有可变参数的函数写法。
相关推荐
小程故事多_805 小时前
Agent Infra核心技术解析:Sandbox sandbox技术原理、选型逻辑与主流方案全景
java·开发语言·人工智能·aigc
沐知全栈开发5 小时前
SQL 日期处理指南
开发语言
黎雁·泠崖5 小时前
【魔法森林冒险】3/14 Allen类(一):主角核心属性与初始化
java·开发语言
黎雁·泠崖5 小时前
【魔法森林冒险】1/14 项目总览:用Java打造你的第一个回合制冒险游戏
java·开发语言
独好紫罗兰6 小时前
对python的再认识-基于数据结构进行-a006-元组-拓展
开发语言·数据结构·python
C++ 老炮儿的技术栈6 小时前
Qt 编写 TcpClient 程序 详细步骤
c语言·开发语言·数据库·c++·qt·算法
yuuki2332336 小时前
【C++】继承
开发语言·c++·windows
222you6 小时前
Redis的主从复制和哨兵机制
java·开发语言
江湖有缘6 小时前
零基础入门:使用 Docker 快速部署 Organizr 个人主页
java·服务器·docker
牛奔6 小时前
如何理解 Go 的调度模型,以及 G / M / P 各自的职责
开发语言·后端·golang