Rust: mod文件、main文件调用

本文基于rust 2018 edition.
注意事项:

mod文件只能在src目录下。
mod文件现在(2018edition)可以不用 pub mod abc{}包起来了,除非你故意想做两层。

几种情况:

一、和main.rs平级的mod文件

我们在main.rs平级有一个mod文件,test.rs.

在这里插入图片描述在这里插入图片描述上面是test.rs文件的情况。

使用:

pub mod test; //直接导入test.rs mod文件
use std::time::Duration;
use std::{thread, time};

fn main() {
    //in_mod::test_arc();
    test::my_println();
    thread::sleep(Duration::from_millis(500000));
}

二、在与main.rs平级的文件夹中
【本部分感谢张汉东先生的支持】
假定,我现在想把mod文件都放在一起,main.rs如何去调用这些mod文件?
比如,在main.rs同级目录有my_mods文件夹,下面放了一个arc_mod.rs mod文件。
那main.rs文件如何调用acr_mod.rs中的函数?

在这里插入图片描述如果和上面一样,直接mod arc_mod:

mod arc_mod; // 想建立arc_mod 文件的交互
pub mod test;
use std::time::Duration;
use std::{thread, time};

fn main() {
    //in_mod::test_arc();
    test::my_println();
    thread::sleep(Duration::from_millis(500000));
}

则会报错:
在这里插入图片描述 应如何处理?

应在main.rs层,加一个与my_mods文件夹同名的my_mods.rs. my_mods.rs主要起一个链接作用,一头链接main.rs, 一头链接arc_mod.rs;

同时,在my_mods.rs:

mod  arc_mod; //表示my_mods.rs要链接mod arc_mod。本身可以是没有其它内容的链接文件

在这里插入图片描述在main.rs中
引入:

use my_mods;

这样,就可以通过my_mods.rs 把main.rs和arc_mod.rs连起来了。

按下面方式使用,即可:

在这里插入图片描述也可以对库的路径进行as简化(别名):
在这里插入图片描述

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值