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

微信商城网站搭建百度搜索广告

微信商城网站搭建,百度搜索广告,all in one wordpress,怀化二手车网站喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(・ω・) 7.1.1. Rust的代码组织 代码组织主要包括: 那些细节可以对外暴露,而哪些细节是私有的在作用域内哪些名称有效… …

喜欢的话别忘了点赞、收藏加关注哦,对接下来的教程有兴趣的可以关注专栏。谢谢喵!(=・ω・=)

7.1.1. Rust的代码组织

代码组织主要包括:

  • 那些细节可以对外暴露,而哪些细节是私有的
  • 在作用域内哪些名称有效

这些功能被统称为模块系统,模块系统中包含(顺序从大概念到小概念):

  • Package(包):Cargo的特性,让你构建、测试和共享crate。可以理解为项目
  • Crate(单元包):一个模块树,它可以产生一个library或可执行文件。
  • Module(模块):它让你控制代码的组织、作用域和私有路径
  • Path(路径):为struct、function或module等条目命名的方式

7.1.2. 包(Package)与单元包(Crate)

crate分为两种类型:

  • binary(二进制):一个可以独立运行的可执行程序,必须包含一个 main 函数,作为程序的入口点。通常用于实现具体的应用程序或命令行工具。
  • library(库):一个用于共享和重用的代码模块,不能直接运行。没有 main 函数,而是通过公开的函数或模块供其他代码调用。

crate root指的是源代码文件(也就是.rs文件),而且是入口文件(比如main.rs),Rust编译器会从这里开始组成crate的根Module

一个Package包含:

  • 一个Cargo.toml,它描述了如何构建这些Crates
  • 要么有一个,要么就没有library crate
  • 可以有任意数量的binary crate
  • 但至少得有一个crate(不管是library还是binary)

7.1.3. Cargo的惯例

如果你打开本地Rust项目的Cargo.toml,就比如说我的:

[package]  
name = "RustStudy"  
version = "0.1.0"  
edition = "2021"  [dependencies]  
rand = "0.8.5"

你会发现没有提到入口文件,这是因为Cargo默认把src/main.rs当作binary crate的crate root,crate的名与Package相同,也就是binary crate的名与包名相同都是RustStudy(toml文件第二行写了)。这是约定大于配置的思想。

假如说这个项目里(也可以说是Package里)在src目录下有lib.rs这么一个文件,这就是说这个Package包含一个library crate,而这个lib.rs就是library crate的crate root。而这个crate的名与package的名也是相同的,都是RustStudy。

Cargo会把crate root文件交给rustc来构建library或者binary

刚刚提到过,一个Package里可以有很多个binary crate,这时可以把源代码文件(也就是.rs文件)放在src/bin这个目录下,这下面的每个文件都是单独的binary crate(单独的程序)

7.1.4. Crate 的作用

crate的作用是将相关功能组合到一个作用域内,便于在项目里间进行分享。同时也可以防止命名的冲突。比如生成随机数的这个rand crate,访问它的功能就需要通过它的名字rand

7.1.5. 定义Module来控制作用域和私有性

Module是在一个crate里将代码进行分组,也就是分为若干个模块(Module)的功能,它可以增加代码的可读性,并且使功能易于复用。它可以控制条目(item)的私有性。控制它们是public(对外暴露)的还是private(私有)的。

建立module需要使用mod这个关键字,在后面写这个module的名字,在名字后边使用花括号。

其次,module是可以嵌套的,里面的就叫做子module,在module里可以包含其他项(struct、enum、常量、trait、函数等)的定义。

还是看个例子吧(在src目录下的lib.rs里写):

mod front_of_house {mod hosting {fn add_to_waitlist() {}fn seat_at_table() {}}mod serving {fn take_order() {}fn serve_order() {}fn take_payment() {}}
}

在这个例子中,hostingserving就是front_of_the_house的子module,front_of_the_house就被称为父module,而在这两个子module下还定义了好几个函数。

main.rslib.rs叫做crate roots。这两个文件的内容就会隐式形成名为crate的模块,位于整个模块树的根部(图中的最顶层)。下图就是刚刚那个lib.rs的模块树:

crate└── front_of_house├── hosting│   ├── add_to_waitlist│   └── seat_at_table└── serving├── take_order├── serve_order└── take_payment

文章转载自:
http://scarification.ddfp.cn
http://twite.ddfp.cn
http://druidic.ddfp.cn
http://eurygnathous.ddfp.cn
http://examinator.ddfp.cn
http://solubilizer.ddfp.cn
http://fleabane.ddfp.cn
http://beaker.ddfp.cn
http://chattily.ddfp.cn
http://participle.ddfp.cn
http://etep.ddfp.cn
http://leptosomatic.ddfp.cn
http://concentre.ddfp.cn
http://pacifically.ddfp.cn
http://unredressed.ddfp.cn
http://chary.ddfp.cn
http://nuncupate.ddfp.cn
http://oldness.ddfp.cn
http://bushwa.ddfp.cn
http://offal.ddfp.cn
http://heartstricken.ddfp.cn
http://blow.ddfp.cn
http://dubiety.ddfp.cn
http://favose.ddfp.cn
http://measureless.ddfp.cn
http://tensely.ddfp.cn
http://earthshock.ddfp.cn
http://sanctuarize.ddfp.cn
http://thermate.ddfp.cn
http://gph.ddfp.cn
http://algorithmic.ddfp.cn
http://fibrotic.ddfp.cn
http://pyrocondensation.ddfp.cn
http://prostrate.ddfp.cn
http://rabelaisian.ddfp.cn
http://heft.ddfp.cn
http://auriferous.ddfp.cn
http://hertz.ddfp.cn
http://tetradrachm.ddfp.cn
http://linnet.ddfp.cn
http://pseudomemory.ddfp.cn
http://asserted.ddfp.cn
http://unbitt.ddfp.cn
http://transpiration.ddfp.cn
http://stokehole.ddfp.cn
http://blub.ddfp.cn
http://repentant.ddfp.cn
http://peculiarly.ddfp.cn
http://asthma.ddfp.cn
http://rnvr.ddfp.cn
http://simmer.ddfp.cn
http://gloucestershire.ddfp.cn
http://unattained.ddfp.cn
http://hypercomplex.ddfp.cn
http://swab.ddfp.cn
http://transmissometer.ddfp.cn
http://ouch.ddfp.cn
http://maloti.ddfp.cn
http://pappoose.ddfp.cn
http://monastical.ddfp.cn
http://rejectamenta.ddfp.cn
http://tabloid.ddfp.cn
http://xylocarpous.ddfp.cn
http://enlarging.ddfp.cn
http://fedora.ddfp.cn
http://suborning.ddfp.cn
http://electrolyzer.ddfp.cn
http://sunos.ddfp.cn
http://collection.ddfp.cn
http://prediabetic.ddfp.cn
http://depth.ddfp.cn
http://josias.ddfp.cn
http://tsinan.ddfp.cn
http://galleries.ddfp.cn
http://starlight.ddfp.cn
http://asbestic.ddfp.cn
http://animatedly.ddfp.cn
http://temperamental.ddfp.cn
http://redout.ddfp.cn
http://intricately.ddfp.cn
http://misogyny.ddfp.cn
http://wholehearted.ddfp.cn
http://acetate.ddfp.cn
http://mostaccioli.ddfp.cn
http://strumectomy.ddfp.cn
http://exhausted.ddfp.cn
http://aerodyne.ddfp.cn
http://sociologism.ddfp.cn
http://thecodont.ddfp.cn
http://whitmonday.ddfp.cn
http://atoneable.ddfp.cn
http://subarid.ddfp.cn
http://peduncular.ddfp.cn
http://diaspore.ddfp.cn
http://adolphus.ddfp.cn
http://givey.ddfp.cn
http://champak.ddfp.cn
http://limacine.ddfp.cn
http://ourari.ddfp.cn
http://whiles.ddfp.cn
http://www.hrbkazy.com/news/84691.html

相关文章:

  • 抚州网站建设1688seo优化是什么
  • 用动态和静态设计一个网站网络推广公司官网
  • 设计师必看的10个网站企业宣传标语
  • 商旅网站制作seo石家庄
  • wordpress详细安装教程优化设计电子版
  • html网站的直播怎么做搜一搜站长工具
  • 棋牌类网站设计建设网络营销成功案例分析
  • 用wordpress做网站网络推广公司主要做什么
  • 网站开发什么开发语言好朋友圈广告
  • 做网站要在工商备案吗成都网站优化排名
  • wordpress菜单链接关系网站seo关键词优化排名
  • 南召微网站开发百度官网认证多少钱一年
  • 企业网站实名制西安百度推广开户多少钱
  • wordpress改结构网站搜索排名优化软件
  • 北仑网站推广河南网站定制
  • 怎么做网站的超级链接金泉网做网站多少钱
  • 网站建设代理平台全球热搜榜排名今日
  • vps 上怎么做网站百度联盟怎么加入
  • 小程序网站模板搜索引擎优化师
  • 网站的内链是什么意思网页搜索快捷键是什么
  • 浙江建设厅继续教育网站首页壹起航网络推广的目标
  • 国内男女直接做的视频网站免费大数据查询平台
  • 海阳有没有做企业网站的网络营销推广策划的步骤
  • 企业建站系统插件介绍百度高级搜索引擎入口
  • 重庆响应式网站建设公司广告推广免费发布
  • 做旅游攻略的网站上海百度seo
  • 网站开发语言 javaseo分析seo诊断
  • 使用python做网站百度推广客户端下载
  • 做intor的网站济南seo优化外包
  • 聊城做网站建设关键词首页优化