一:前言,这是Rust基础程序,主要是用来讲解怎么创建分层(类似Java package)的应用;

二:代码实现:

2.1在src下创建main.rs,然后声明main方法,代码如下:

fn main() {
let fruits = ["mango", "apple", "banana", "litchi", "watermelon"];
for f in fruits.iter() {
print!("{} ", f);
}
}

2.1接着我们需要在main里引用一个类似Java aa.bb.Uu的类,并调用它的某个方法(和Java不同的是Rust更像C++/kotlin不是所有方法都必须在类里,“包”中也可以有方法实现)

,步骤如下:在src下创建common目录,在common目录里创建mod.rs(mod.rs是很特殊的文件名字,在里面可以定义属于common“包”[其实叫mod,即module]的方法实现,同时它还负责引出属于common“包”下的其他“子包”;

在mod.rs里添加代码:

// 这里用pub mod的意义在于其他地方比如main.rs里mod common;后可以use common::uks;
pub mod uks; // 这里也可以有方法定义,这样这个方法就是在common这个"包"里【Java概念】
pub fn test() {
println!("hello");
}

注意上面的pub mod uks;很重要,表示uks可以在其他地方通过common mod来引用,而test方法则直接属于common这个mod;

接着在common目录下添加uks.rs,其代码为:

// 默认是私有的,其他module无法访问
pub fn add(a: i64, b: i64) -> i64 {
a + b
}

现在main.rs里就可以使用uks和common的mod了,代码如下:

mod common;
use common::uks::add;

在main方法里就可以直接add(1, 3)来调用了,如果没有用use(use类似静态导入,mod类似普通导入),那么就必须common::uks::add(1, 3)来使用,

如果是use common::uks;那么可以uks::add(1, 3),注意不能use common;因为mod common;已经导入了不能重复导入【但是不能省略mod common;而用use common;也会报错】

创建一个用目录分层的Rust应用的更多相关文章

  1. File 创建一个空目录,创建一个多级目录,删除一个目录

    package seday03; import java.io.File; /** * 创建一个空目录,* @author xingsir*/public class MkDirDemo { publ ...

  2. VsCode+Node的前端环境搭建及其理解并创建一个前端目录

    既然选择了远方,便只顾风雨兼程 __ HANS许 系列:零基础搭建前后端分离项目 系列:零基础搭建前后端分离项目 VsCode VsCode的安装 VSCode中文设置 VsCode 扩展 VsCod ...

  3. iOS 创建一个App目录结构

    Class:存放的是App中所有的模块功能 Base:存放一些基类,比如BaseViewController,BaseModel等,共性直接在基类中去修改 Vendor:三方,因为我的项目中使用coc ...

  4. 利用django创建一个投票网站(六)

    建你的第一个 Django 项目, 第六部分 这一篇从第五部分(zh)结尾的地方继续讲起.再上一节中我们为网络投票程序编写了测试,而现在我们要为它加上样式和图片. 除了服务端生成的 HTML 以外,网 ...

  5. 利用django创建一个投票网站(三)

    创建你的第一个 Django 项目, 第三部分 这一篇从第二部分(zh)结尾的地方继续讲起.我们将继续编写投票应用,并且聚焦于如何创建公用界面--也被称为"视图". 设计哲学 Dj ...

  6. 利用django创建一个投票网站(二)

    创建你的第一个 Django 项目, 第二部分 这一篇从第一部分(zh)结尾的地方继续讲起.本节我们将继续写 Web 投票应用,并主要关注 Django 提供的自动生成的管理页面(admin site ...

  7. 利用django创建一个投票网站(一)

    这是教程的原始链接:http://django-intro-zh.readthedocs.io/zh_CN/latest/part1/ 创建你的第一个 Django 项目, 第一部分 来跟着实际项目学 ...

  8. 使用Maven创建一个Spring MVC Web 项目

    使用Maven创建java web 项目(Spring MVC)用到如下工具: 1.Maven 3.2 2.IntelliJ IDEA 13 3.JDK 1.7 4.Spring 4.1.1 rele ...

  9. AppWidget应用(一)---创建一个appWidget

    appWidget是显示的桌面上的小窗口程序,通过它可以达到用户与程序之间的交互. 下面我们来看下创建一个appWidget的步骤 一.首先在layout文件夹下创建一个appWidget的布局文件a ...

随机推荐

  1. 《挑战30天C++入门极限》C/C++中结构体(struct)知识点强化

        C/C++中结构体(struct)知识点强化 在上一个教程中我们已经简单的阐述了什么是结构体了,为了进一部的学习结构体这一重要的知识点,我们今天来学习一下链表结构. 结构体可以看做是一种自定义 ...

  2. Sklearn多元线性回归

    Sklearn多元线性回归 1 正文 2 参考资料 Sklearn多元线性回归

  3. Editorial of Codeforces Round #572

    技不如人啊emmm A \(f_{i}\)表示前\(i\)个最小割段,顺便用\(pre_{i}\)记录上一个转移过来的位置 B 这题似乎随便乱搞都能过 官方题解:\(a_{n-1},a_n,a_{n- ...

  4. css+vue实现流程图

    主要用css+flex布局实现样式部分,vue实现组件逻辑.首先看下效果吧: 当空间不够时还可以使用拖拽功能 接下来说明下实现思路 1.首先是实现单个节点样式,这个很简单不谈了,节点后都跟有一小段连接 ...

  5. OpenFOAM当中监测力和阻力系数

    首先准备好我们自己的平常算例文件,本次我们以圆柱绕流的算例来说明用法 我们找到constant文件夹 打开其中的transportProperties文件 我们将其中的: nu             ...

  6. Spring|@Autowired与new的区别

    前两天写代码的时候遇到一个问题,通过new出来的对象,自动注入的属性总是报空指针的错误.到网上查了资料,才发现问题所在,同时也加深了自己对于容器IOC的理解.现在把这个问题记录一下,仅供大家参考. [ ...

  7. 大数据学习之路之Hadoop

    Hadoop介绍 一.简介 Hadoop是一个开源的分布式计算平台,用于存储大数据,并使用MapReduce来处理.Hadoop擅长于存储各种格式的庞大的数据,任意的格式甚至非结构化的处理.两个核心: ...

  8. git工作总结

    一.简单介绍 简介:Git是一个开源的分布式版本控制系统,可以有效.高速地处理项目版本管理. 发展史:CSV -> SVN -> Git 优点:Git速度快.开源.完全分布式管理系统 相关 ...

  9. 范仁义web前端介绍课程---5、webstorm的下载安装

    范仁义web前端介绍课程---5.webstorm的下载安装 一.总结 一句话总结: webstorm破解版搜索:webstorm破解 site:52pojie.cn 编辑器随便选用,功能都差不多,哪 ...

  10. python 处理geoJson to shp 互转