一:前言,这是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. template里面要做数据渲染,但是数据还没有出来

    <el-dialog title="企业详情" :visible.sync="showEditPayment" @close="closeDia ...

  2. arts打开第11周

    给定一个字符串,验证它是否是回文串,只考虑字母和数字字符,可以忽略字母的大小写. 说明:本题中,我们将空字符串定义为有效的回文串. 示例 1: 输入: "A man, a plan, a c ...

  3. mysql 导出数据或结构

    mysql 导出数据或结构 语法说明 mysqldump -h 数据库地址 -u用戶名 -p密码 -d 数据库名 表名 > 脚本名; 导出整个数据库结构和数据 mysqldump -uroot ...

  4. 使用清华源 tensorflow 安装

    1. 超级权限打开cmd.exe 2. pip install --upgrade setuptools 3.  pip install -U --ignore-installed wrapt enu ...

  5. IdHTTPServer开发https服务器

    IdHTTPServer开发https服务器 该篇经验同样适用于DATASNAP和UNIGUI,因为它们都基于INDY10. 1)需要TIdServerIOHandlerSSLOpenSSL控件 2) ...

  6. make 实例 一 3463

    ######################################################################### # # Makefile used for buil ...

  7. Statement.setQueryTimeout(seconds)在家中环境的再次试验 证明此语句还是有效的

    对比实验:https://www.cnblogs.com/xiandedanteng/p/11955887.html 这次实验的环境是T440p上安装的Windows版Oracle11g,版本为: O ...

  8. Faster async functions and promises

    https://v8.dev/blog/fast-async async function computeAnswer() { return 42;}undefinedconst p = comput ...

  9. shell - 拉取代码部署执行

    #!/bin/bash nodejs_path=/data/myserver/yihao01-node-js cd /data/myserver if [ -d "$nodejs_path& ...

  10. Docs-.NET-C#-指南-语言参考-关键字-值类型:可以 null 的值类型

    ylbtech-Docs-.NET-C#-指南-语言参考-关键字-值类型:可以 null 的值类型 1.返回顶部 1. Nullable value types (C# reference) 2019 ...