(转)Rust :文件分层
转:https://rustwiki.org/rust-by-example/mod/split.html
模块可以分配到文件/目录的层次结构中。让我们将可见性小节例子 的代码拆开分到多个文件中:
$ tree .
.
|– my
| |– inaccessible.rs
| |– mod.rs
| -- nested.rs
– split.rs
1、 split.rs
// 此声明将会查找名为 `my.rs` 或 `my/mod.rs` 的文件,并将该文件的内容插入到
// 此作用域名为 `my` 的模块里面。
mod my;fn function() {println!("called `function()`");
}fn main() {my::function();function();my::indirect_access();my::nested::function();
}
2、my/mod.rs
// 类似地,`mod inaccessible` 和 `mod nested` 将找到 `nested.rs` 和
// `inaccessible.rs` 文件,并在它们各自的模块中插入它们的内容。
mod inaccessible;
pub mod nested;pub fn function() {println!("called `my::function()`");
}fn private_function() {println!("called `my::private_function()`");
}pub fn indirect_access() {print!("called `my::indirect_access()`, that\n> ");private_function();
}
3、my/nested.rs
pub fn function() {println!("called `my::nested::function()`");
}#[allow(dead_code)]
fn private_function() {println!("called `my::nested::private_function()`");
}
// my/inaccessible.rs
#[allow(dead_code)]
pub fn public_function() {println!("called `my::inaccessible::public_function()`");
}
我们看到代码仍然正常运行,就和前面的一样:
$ rustc split.rs && ./split
called `my::function()`
called `function()`
called `my::indirect_access()`, that> called `my::private_function()`
called `my::nested::function()`
此外,关于文件分层,可以阅读rustprimer,里面有详细的论述。
https://rustcc.gitbooks.io/rustprimer/content/module/module.html
(转)Rust :文件分层相关推荐
- linux底层文件io,学习Rust 文件与 IO
导读 Rust 语言是一种高效.可靠的通用高级语言.其高效不仅限于开发效率,它的执行效率也是令人称赞的,是一种少有的兼顾开发效率和执行效率的语言. 本章介绍 Rust 语言的 I/O 操作. 接收命令 ...
- rust 文件读写操作
文章目录 一.读取文件 二.写入文件 一.读取文件 use std::fs::File;fn main() {let f = File::open("hello.txt").unw ...
- 通过例子学习Rust
1 Hello world 1.1 可执行文件 rustc main.rs //编译 ./main 运行二进制文件 1.2 注释 普通注释: // /**/ 文档注释 /// 为接下来的项生成帮助文档 ...
- rust安装教程linux,如何在 Linux 中安装 Rust 编程语言
Rust 通常被称为 rust-lang.Rust 是一个由 Mozilla Research 赞助的通用的.多范式.现代的.跨平台和开源系统编程语言. 它旨在实现安全性.速度和并发性等目标. Rus ...
- C++、Python、Rust、Scala 构建编译器的差异性究竟有多大?
[CSDN 编者按]编程语言之争是开发者们热议的永恒话题,在不同语言的选择和设计决定上也都观点不一.那么在面对大型项目时该如何选择具体实现呢?本文的作者借课程项目之机,比较了Rust.Haskell. ...
- 怎么把AI文件导入到PS里面
今天中软云数小编就来为大家讲解一下如何把AI文件分层导入PS里?PS是位图软件,AI是矢量图软件,两者如何相互导入,并可保持分层可编辑呢?下面分享ai导入psd并分层的方法,希望对有需要的朋友有所帮助 ...
- 【Rust日报】2020-10-02 移动操作系统SailfishOS支持Rust了
移动操作系统SailfishOS支持Rust了 链接:https://forum.sailfishos.org/t/release-notes-pallas-yllastunturi-3-4-0/22 ...
- 软件下载安装卸载及文件夹管理
首先: 联想杀毒plus(McAfee):必须卸载 误报病毒,自动删除 就算永久关闭依然会在后台拦截文件 系统自带的的windows definder已经够用了 (?windows definder也 ...
- 【Rust】我该用什么软件开发 Rust | 常用支持 Rust 的编辑器推荐
目录 一.前言 二.编辑器插件 1. VS Code 2. Sublime Text 3. IntelliJ IDEA (推荐) 4. VIM 三.以GoLand 为例安装 rust 插件演示 1. ...
- HDS推出HUS中端阵列 文件、块和对象统一存储
http://storage.chinabyte.com/86/12320086.shtml http://storage.chinabyte.com/134/12324134.shtml 日立数据系 ...
最新文章
- 通过对比对象掩码建议的无监督语义分割
- 运行时常量池在哪里_Java虚拟机详解(二)------运行时内存结构
- 初学者用涩性胶皮好还是粘性_乒乓球胶皮的保养方法
- iOS iOS9下修改回HTTP模式进行网络请求
- resharper警告 :linq replace with single call to FirstOrDefault
- 二十一世纪Windows简史
- 万字长文丨7个经典问题,助你拿下Java面试(建议收藏)
- 第0章 前言(续1)
- php redis 菜鸟,phpRedisAdmin 安装
- Glib2:error: Installed (but unpackaged) files found(七)
- python控制步进电机驱动器_怎样用树莓派和L298N电机驱动器模块控制步进电机
- 【渝粤题库】国家开放大学2021春2018货币银行学题目
- 自学考试应该怎样答题才能更高分?
- 【Codecs系列】HEVC-SCC(四):SCC IBC句法
- Ubuntu20.04开启night夜间模式保护视力
- 使用adb命令修改build.prop文件
- 主动雷达和被动雷达的区别
- 插入排序超详细讲解C语言
- 【译】Executor, ExecutorService 和 Executors 间的不同
- tcp发送窗口(滑动窗口)、拥塞窗口