首页 > 其他分享 >Rust的函数__Function

Rust的函数__Function

时间:2024-04-10 17:55:52浏览次数:21  
标签:__ Function 函数 function fn println main Rust

Functions are prevalent in Rust code. You’ve already seen one of the most important functions in the language: the main function, which is the entry point of many programs. You’ve also seen the fn keyword, which allows you to declare new functions.函数在Rust代码中非常流行,你已经见过最重要的函数——main函数(许多编程语言的入口),你也见过fn关键字,其允许你用以声明一个新的函数。

Rust code uses snake case as the conventional style for function and variable names, in which all letters are lowercase and underscores separate words. Rust代码以蛇形命名法来命名函数名和变量名,其形式由小写字母+下划线组成。

fn main() {
    println!("Hello, world!");

    another_function();
}

// fn关键字 函数名 (形参列表) {函数体}
fn another_function() {
    println!("Another function.");
}

 Parameters_参数

We can define functions to have parameters, which are special variables that are part of a function's signature. 我们可以给函数定义一些参数,这些指定的变量是函数签名的一部分。When a function has parameters, you can provide it with concrete values for those parameters. 当函数具有参数时,你可以为这些参数提供具体的值。Technically, the concrete values are called arguments, but in casual conversation, people ten to use the words parameter and argument interchangeably for either the variables in a function's definition or the concrete values passed in when you call a funcion.从技术上来讲,这些具体的值应称之为arguments,但日常称谓中,人们将parameter和argument混淆使用,来表示定义函数的参数parameter或调用函数时提供的参数argument。

fn main() {
    another_function(5);
}

fn another_function(x: i32) {
    println!("The value of x is: {x}");
}

Statements and Expressions

Function bodies are made up of a series of statements optionally ending in an expression.函数体由一系列语句+表达式结尾。 // 函数体由花括号包裹

statements: instructions that perform some action and do not return a value. // 执行某些操作的指令但不返回值

expressions: evaluate to a resultant value. // 返回值

// 有返回值函数
fn five() -> i32 {
    5
}

// 无返回值函数
fn main() {
    let x = five();

    println!("The value of x is: {x}");
}

 

标签:__,Function,函数,function,fn,println,main,Rust
From: https://www.cnblogs.com/ashet/p/18126480

相关文章

  • 攻防世界Reverse三星题 zorropub
    题目分析过程 丢到PE里面,无壳,64bit丢到IDA里面,查看mian函数1int__fastcallmain(inta1,char**a2,char**a3)2{3size_ts_len;//rax4intdrink_ID;//[rsp+1Ch][rbp-104h]BYREF5intinput;//[rsp+20h][rbp-100h]BYREF6inti;//[......
  • 知识图谱在RAG中的应用探讨
    在这篇文章中,我们来详细探讨知识图谱(KG)在RAG流程中的具体应用场景。缘起关于知识图谱在现在的RAG中能发挥出什么样的作用,之前看了360刘焕勇的一个分享,简单的提了使用知识图谱增强大模型的问答效果的几个方面:在知识整理阶段,用知识图谱将文档内容进行语义化组织;在意图识别阶段......
  • keycloak~对框架中提供的Provider总结
    提供者目录ProviderAuthenticatorBaseDirectGrantAuthenticatorAbstractFormAuthenticatorAbstractUsernameFormAuthenticatorRequiredActionProviderFormActionProtocolMapperAbstractOIDCProtocolMapperRealmResourceProvider具体provider的作用Provid......
  • CF1913C Game with Multiset 题解
    翻译初始时你有一个空序列,共\(m\)次操作,每次操作读入两个数\(t_i\),\(v_i\),分为以下两种操作:当\(t_i=1\)时,在空序列中加入\(2^{v_i}\)这一元素。(此时\(0\lev_i\le29\))当\(t_i=2\)时,询问是否存在:取当前序列的某些元素,使它们的的和等于\(v_i\)(此时\(0\lev_i\l......
  • 操作系统综合题之“采用二级页表的分页存储管理方式,计算页目录号的位数 和 页大小,给定
    一、问题:某计算机系统的主存按字节编址,逻辑地址和物理地址都是32位,其内存管理采用两级页表的分页存储管理方式。逻辑地址中页号位10位,页内偏移地址为10位。该计算机系统的两级页表结构如下图所示,图中数值均为十进制数1.页目录号的位数为多少?页的大小为多少KB?2.如果页目录项大小......
  • 雪亮工程视频汇聚EasyCVR视频建设方案:当前现状与痛点分析
    一、现状分析与痛点经过近几年的努力,平安城市雪亮工程建设取得了显著的成绩,完成了前端高清视频点位和高清卡口系统建设,建成了视频监控类、卡口类和应用类的平台。这些系统的建设在提高城市公共事业和社会治安动态管理方面发挥了积极作用,但在前期的建设中还存在着一些不足,制约了“......
  • CF1913B Swap and Delete 题解
    翻译给定一个字符串\(s\),你有两种操作:删除一个字符。(花费一枚金币)交换某两个字符的位置。(不花费金币)假设经过若干次操作后得到的字符串为\(t\)。\(t\)是好的当且仅当对于任意的\(i\)(\(1\lei\le|t|\),\(|t|\)为字符串\(t\)的长度),均满足\(t_i\nes_i\)。(\(s\)是......
  • TypeScript 与组合式 API
    看吧:https://cn.vuejs.org/guide/typescript/composition-api.html为组件的props标注类型<scriptsetuplang="ts">constprops=defineProps({foo:{type:String,required:true},bar:Number})props.foo//stringprops.bar//number|undefine......
  • CF1907B YetnotherrokenKeoard 题解
    比较简单,建议评橙。题面。思路对于每个给定的字符串,用两个大根堆来分别记录小写字母与大写字母,注意这里记录时不要记录大写的B和小写的b。每当出现一个B时,从记录大写字母的大根堆中取出目前最后录入的大写字母的位置,标记,接着弹出堆顶元素,标记。小写字母同理。以上操作在......
  • python爬虫—学习笔记-2
    python爬虫—学习笔记-2ps:因为本人近一个月住院,文章为队友所著。任务获取豆瓣网站内容。单页获取网址:https://movie.douban.com/top250获取网页信息代码:importrequestsurl="https://movie.douban.com/top250"headers={"User-Agent":"Mozilla/5.0(WindowsNT10.0;......