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

安徽建设网站自己做网站需要多少钱

安徽建设网站,自己做网站需要多少钱,彩票网站制作商,扬州建设安装网站Rust的模块化要从Rust的入口文件谈起。 Rust的程序的入口文件有两个 如果程序类型是可执行应用,入口文件是main.rs;如果程序类型是库,入口文件是lib.rs; 入口文件中,必须声明本地模块,否则编译器在编译过…

Rust的模块化要从Rust的入口文件谈起。

Rust的程序的入口文件有两个

  1. 如果程序类型是可执行应用,入口文件是main.rs;
  2. 如果程序类型是库,入口文件是lib.rs;

入口文件中,必须声明本地模块,否则编译器在编译过程中,会报该模块不存在的错误。这个规则,在其它程序的编译中很少见。

怎么理解这个规则,我来举一个例子:
假设我们目录结构如下:

src/components/mod.rstable_component.rsmodels/mod.rstable_row.rsmain.rs

依赖关系如下,即main.rs没有直接依赖table_row.rs

main.rs -> table_component.rs -> table_row.rs

现在来看看模块之间的引用代码。
main.rs对table_component.rs的依赖,对应的代码为

use components::table_component::TableComponent;

table_component.rs对table_row.rs的依赖,对应的代码为

use crate::models::table_row::TableRow;

上面的依赖代码都没毛病。在main.rs中"use components::table_component::TableComponent"这段代码告诉编译器,从模块的根部找components模块,因为components是一个文件夹,所以components目录下有一个mod.rs,然后在components文件夹下找table_component模块,最后在table_component模块中找到TableComponent。

因为table_component.rs中使用到了models中定义的TableRow,所以,这行代码也没有毛病:“use crate::models::table_row::TableRow"。这行代码告诉编译器从模块的根目录找models模块,然后在models模块中找table_row模块,最后在table_row中找到TableRow。

但是如果仅仅是这样,编译器就会马上送上模块找不到的错误。这种错误对于才接触到Rust的同学来说,可能很难发现,尤其是才从别的开发语言(比如Javascript)过来的同学。

 --> src/main.rs:4:5
use components::table_component::TableComponent;^^^^^^^^^^ use of undeclared crate or module `components`

上面的错误里中有“undclared crate or module",这里其实就是在提醒我们这个components模块没有被声明。
很简单,就是在main.rs的头部加上下面的代码。

mod components;

OK,如果你再次编译代码,你会发现下面这个错误。

 --> src/components/table_component.rs:1:12use crate::models::table_row::TableRow;^^^^^^ could not find `models` in the crate root

如果没有把模块声明的原则放心上,这个提示会让人发狂,因为无论你检查多少次,你都会发现你的文件路径src/models/table_row.rs和模块的查找路径是对应的啊,为什么就找不到呢?

如果这里的报错还是能像之前那样用“use of undeclared crate or module"就好理解多了。要解决这个问题,其实也是将"mod models;"这行代码添加到main.rs中。即:
main.rs

mod components;
mod models;

把握好这个原则,其它模块间的引用方式,例如super, self都好理解了。

http://www.dt0577.cn/news/527.html

相关文章:

  • 定制制作网站设计域名查询
  • 用表格做网站自己建网站需要钱吗
  • 嘉兴seo网站推广费用seo教程之关键词是什么
  • 沈阳做网站怎样收费百度 营销推广是做什么的
  • 做中英双语切换的网站google官方下载安装
  • 造价师证书在建设部网站查询网站设计
  • vs2010网站开发视频seo俱乐部
  • vs2008 做网站seo托管
  • 建个网站视频亚马逊提升关键词排名的方法
  • 网站改版费用优化设计数学
  • wordpress linux位置武汉seo百度
  • 晋城 网站建设江苏泰州seo网络优化推广
  • 中文电影网页模板免费下载seo 优化一般包括哪些内容
  • 网站开发前端是什么网络营销总结
  • 四川营销型网站建设最近发生的热点事件
  • 分析网站外链分析工具肇庆网站推广排名
  • 护肤品网页设计图片seo数据优化
  • 广州网站建设 易点google关键词搜索技巧
  • 做网站css代码百度网盘人工客服电话
  • 建设工程国检中心网站做网站需要哪些技术
  • web服务器是什么意思网站推广优化的公司
  • 用什么语言能写网站吗aso推广平台
  • 长沙房地产网站设计网站建设工作总结
  • 北京企迪网站建设公司汕头seo优化
  • 自建网站做外贸好做吗百度收录是什么意思
  • 河北省环境保护厅网站建设项目备案系统seo服务的内容
  • 17做网站广州沙河地址seo怎么才能优化好
  • 视频网站高管有做传统媒体出身的吗?优酷副总裁转型成功的概率有多少?seo是怎么优化推广的
  • 湘潭做网站 i磐石网络网站推广软件免费版下载
  • 网站建设推广方案宁波seo深度优化平台有哪些