zoukankan      html  css  js  c++  java
  • 创建一个用目录分层的Rust应用

    一:前言,这是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;也会报错】

  • 相关阅读:
    Office Live for Small Business开启您创业的大门
    把时间管理培养成习惯
    面向对象主要概念
    《程序员羊皮卷》中的职场江湖
    时间管理——如何应对外界的干扰
    时间管理——珍惜时间碎片
    对于Office Live平台的思考
    Office Live第一步搭建网络工作环境
    时间管理——专注与放下
    时间管理——寻找精力与效率的平衡点
  • 原文地址:https://www.cnblogs.com/silentdoer/p/11572716.html
Copyright © 2011-2022 走看看