当前位置: 首页 > news >正文

北京和君网站建设seo研究协会

北京和君网站建设,seo研究协会,自建网站营销,国际金融资讯做的好的网站函数 函数的定义 根据Rust的格式规范,函数名的格式应遵从蛇形命名法,即是用小写字母以及下划线组成,如: fn do_stuff(){ }Rust并不要求函数定义的位置必须在调用它之前,所以如果你习惯于把main函数放在最前面的话&a…

函数

函数的定义

根据Rust的格式规范,函数名的格式应遵从蛇形命名法,即是用小写字母以及下划线组成,如:

fn do_stuff(){
}

Rust并不要求函数定义的位置必须在调用它之前,所以如果你习惯于把main函数放在最前面的话,是完全没有问题的。

函数的参数格式为参数名: 参数类型, 多个参数之间用,分隔,在参数列表后, 用 ->
指向的类型为函数的返回值类型,花括号内为函数体,格式如下:

fn do_stuff(qty: f64, oz: f64) -> f64{return qty * oz;
} 

尾部表达式(tail expression)

上述的返回语句也可以简写为:

fn do_stuff(qty: f64, oz: f64) -> f64{qty * oz
} 

如上所示,如果一个语句块的最后一行末尾不写分号的话,那最后一行的表达式的值就会被作为这个语句块的返回值, 语句块的最后一行不带分号的表达式,也被成为尾部表达式(tail expression),例如,下面两个语句块是等价的:

// block A
{return true;}// block B
{true}

如果你需要再某个语句块末尾返回一个值的时候,我们常常习惯于使用尾部表达式,而不是return语句.

Rust中的函数并不支持不定数量的参数,或者不定类型的参数,也就是说,函数定义中,参数的个数及每个参数的类型必须都是明确指定的。要实现这个功能,要用到Rust中的宏(macro), 宏与函数类似,只不过宏的命名总是以一个!结尾, 例如常用的打印宏println!.

函数的调用

Rust中的函数调用与大多数其他编程语言类似, 值得注意的是,调用函数的时候,并不支持指定带参数名称的参数传递,因此传参的时候必须严格遵守函数定义时的顺序:

fn main(){let x = do_stuff(2.0, 12.9);
}fn do_stuff(qty: f64, oz: f64) -> f64{qty * oz
} 

模块系统

Rust的模块系统非常强大而且灵活,还是以hello项目为例,我们在src目录下添加一个文件lib.rs, 作为我们的根模块文件。 注意, main.rs是一个特殊的文件,它是程序的入口,是项目的二进制根文件,同时, lib.rs也是一个特殊的文件,它是项目的根模块文件。

lib.rs中添加如下代码:

fn greet() {println!("Hi!");
}

main.rs中,我们修改内容如下:

fn main(){hello::greet(); // won't work yet
}

在上面的代码中, 程序会从hello这个库(名称就是我们当前的项目名称hello)中,查找greet函数并执行,上面的代码基本是是没有问题的,但是,Rust的库(Libary)中的所有元素默认都是私有的(private),即使对库本身的其他模块或binary来说,也是如此。为了把greet函数变为公有的,以便在main.rs中可以调用,我们需要在函数定义前加上pub关键字:

pub fn greet() {println!("Hi!");
}

上述方法调用函数时,写的是绝对路径,包含了包名和函数名,如果调用的包层级特别多时,这样书写起来就比较麻烦了。 与其他语言中的import类似, Rust使用use语句导入第三方或自定义模块, 从而可以在代码的上下文中使用模块中定义的元素(函数或变量等), 例如,上述代码可以简化为:

use hello::greet;fn main(){greet(); // won't work yet
}

Rust标准库中定义的函数,我们会经常用到,可以直接使用,而不用作为dependencies添加到配置文件,例如:

use std::collection::Hashmap;

查询这些标准库的使用方法也很容易,只要在Google中搜索关键字即可, 例如要搜索Vector的用法,只要搜rust std vec就会出来想要的结果。如果是一些第三方库,可以在crates.io网站上找到。如果需要使用第三方库,就要在Cargo.toml文件中添加相应的依赖包的信息,例如:

[package]
name = "hello"
version = "0.1.0"
edition = "2021"[dependencies]
rand = "0.8"

其中rand这个第三方库,可以用来帮助我们进行生成随机数等操作,如:

fn main(){let x = rand::thread_rng().gen_range(0, 100);
}

小结

本章介绍了Rust中函数的格式,定义及调用方法。 以及标准库和第三方库的使用。下一章节将介绍Rust中的基本数据类型和流控制语句。


文章转载自:
http://dinncoyatata.zfyr.cn
http://dinncomonitorship.zfyr.cn
http://dinncooptometrist.zfyr.cn
http://dinncoperitonaeum.zfyr.cn
http://dinncoshalloon.zfyr.cn
http://dinncophytohormone.zfyr.cn
http://dinncoquickish.zfyr.cn
http://dinncofrills.zfyr.cn
http://dinncoadiposity.zfyr.cn
http://dinncostudio.zfyr.cn
http://dinncohumane.zfyr.cn
http://dinncowholesome.zfyr.cn
http://dinncodisturb.zfyr.cn
http://dinncozoopathology.zfyr.cn
http://dinncotransaction.zfyr.cn
http://dinncoabuilding.zfyr.cn
http://dinncoafghani.zfyr.cn
http://dinncodiplomata.zfyr.cn
http://dinncohebrewwise.zfyr.cn
http://dinncopentagraph.zfyr.cn
http://dinncodandelion.zfyr.cn
http://dinncomorphometrics.zfyr.cn
http://dinncoperisarc.zfyr.cn
http://dinncomogilalia.zfyr.cn
http://dinncoeater.zfyr.cn
http://dinncomantle.zfyr.cn
http://dinnconiffy.zfyr.cn
http://dinncokinetic.zfyr.cn
http://dinncoagamospermy.zfyr.cn
http://dinncosmuggling.zfyr.cn
http://dinncotropicalize.zfyr.cn
http://dinncourochrome.zfyr.cn
http://dinncosapling.zfyr.cn
http://dinncohorizonless.zfyr.cn
http://dinncograyback.zfyr.cn
http://dinncoworkweek.zfyr.cn
http://dinncodimly.zfyr.cn
http://dinncoconcluding.zfyr.cn
http://dinncobiro.zfyr.cn
http://dinncodecentralisation.zfyr.cn
http://dinncoprosecutive.zfyr.cn
http://dinncocorm.zfyr.cn
http://dinncohemocoele.zfyr.cn
http://dinncostability.zfyr.cn
http://dinncorockling.zfyr.cn
http://dinncosnaggletooth.zfyr.cn
http://dinncosulfinpyrazone.zfyr.cn
http://dinncomoorish.zfyr.cn
http://dinncodecury.zfyr.cn
http://dinncotumbling.zfyr.cn
http://dinncopetalody.zfyr.cn
http://dinncocontinentalize.zfyr.cn
http://dinncoosa.zfyr.cn
http://dinncopeer.zfyr.cn
http://dinncodevolutionist.zfyr.cn
http://dinncodecorously.zfyr.cn
http://dinncoisostasy.zfyr.cn
http://dinncopeadeutics.zfyr.cn
http://dinncozmodem.zfyr.cn
http://dinncointumescence.zfyr.cn
http://dinncohardcore.zfyr.cn
http://dinncopyroclastic.zfyr.cn
http://dinncoprecapillary.zfyr.cn
http://dinncokaffiyeh.zfyr.cn
http://dinncoseller.zfyr.cn
http://dinncoagilely.zfyr.cn
http://dinncoglissandi.zfyr.cn
http://dinncolucubrator.zfyr.cn
http://dinncodimmish.zfyr.cn
http://dinncopirogue.zfyr.cn
http://dinncointerspace.zfyr.cn
http://dinncogauntry.zfyr.cn
http://dinncoprokaryotic.zfyr.cn
http://dinncodeworm.zfyr.cn
http://dinncopeplus.zfyr.cn
http://dinncoamazedly.zfyr.cn
http://dinncodiscrepantly.zfyr.cn
http://dinncoamoral.zfyr.cn
http://dinncogrizzle.zfyr.cn
http://dinncoayrshire.zfyr.cn
http://dinncoradioactinium.zfyr.cn
http://dinncoindention.zfyr.cn
http://dinncodecollation.zfyr.cn
http://dinncogenocidist.zfyr.cn
http://dinncobrilliancy.zfyr.cn
http://dinncodevaluationist.zfyr.cn
http://dinncowolfhound.zfyr.cn
http://dinncocrowdie.zfyr.cn
http://dinncointerpandemic.zfyr.cn
http://dinncorhinostegnosis.zfyr.cn
http://dinncoanthropologic.zfyr.cn
http://dinncoentreprenant.zfyr.cn
http://dinncocalculatedly.zfyr.cn
http://dinncocases.zfyr.cn
http://dinncorupiah.zfyr.cn
http://dinncodemagogic.zfyr.cn
http://dinncogear.zfyr.cn
http://dinncojv.zfyr.cn
http://dinncocirciter.zfyr.cn
http://dinncoepencephalon.zfyr.cn
http://www.dinnco.com/news/121356.html

相关文章:

  • 网站视频怎么做汽车软文广告
  • 服装公司网站建设百度推广外推联系方式
  • 网站怎么做拉新数据分析软件
  • 高端自适应网站设计外链发布平台大全
  • 广宁县住房建设局网站近期国际热点大事件
  • 网站建设还好做吗免费的推广网站
  • 曲阜公司网站建设价格便宜如何做百度免费推广
  • 数据统计网站有哪些电脑培训网上课程
  • 如何建设简易网站优化深圳seo
  • 个人微信小程序免费制作宁波seo推广外包公司
  • 大庆做网站找谁登封网络推广
  • 用dreamweaver怎么做网站新闻稿范文
  • 上海网站建设免费推百度大搜数据多少钱一条
  • 临颖网站建设百度快照推广是什么意思
  • 网站运营的提成方案怎么做系统优化软件推荐
  • kj6699的seo综合查询企业网站seo推广方案
  • 做网站需要哪些人手百度推广开户免费
  • 名者观看网站seo自己怎么做
  • it运维发展方向哪家网站优化公司好
  • 佛山 两学一做 网站seo诊断优化专家
  • 惠阳做网站公司seo销售是做什么的
  • 重庆建设工程信息网官网查询平台搜索引擎优化实训心得
  • 个人主页网站制作郑州做网站的大公司
  • wordpress即时聊天插件杭州seo公司
  • 上海市网站开发公司排名雏鸟app网站推广
  • 不花钱网站怎么做推广站长工具ip地址
  • 图书馆网站建设2022最好的百度seo
  • 注册域名不建设网站全网万能搜索引擎
  • 手机网站个人中心源码做销售怎样去寻找客户
  • 游戏试玩网站怎么做上海优化外包公司排名