rust 学习 包和模块

要在main.rs中使用包和模块:

一、本地main同级别的导入:

a、 lib.rs的导入方法: use demo1::Dog;

b、 非lib.rs的rs的导入方法:mod same1;(这里same1是same1.rs文件

c、 非lib.rs子包out里面rs的导入方法:mod out;

第c种情况:分为两种风格,不管是哪种文件的入口文件 out.rs或是mod.rs,文件内容都是

pub mod same2; 就这一句

新风格:out.rs文件和out子包是平行级,为的是加载out包里的same2.rs文件

out.rs是和out子包平行级的入口文件

旧风格:是在内部建立mod.rs的入口文件

二、嵌入的包外部包的导入:

1、本地的Cargo.toml文件加依赖

package

name = "demo1"

version = "0.1.0"

edition = "2024"

dependencies

innerDemo = { path = "./innerDemo" } # 指定嵌入包项目的路径

demo2 = { path = "../demo2" } # 指定外部平行级的项目路径

2、在主目录里面的lib.rs中要导入lib.rs平行级的模块:

pub mod mylib;

pub mod sub;

3、main.rs的导入方法:

use innerDemo; //导入嵌套的独立的包

use demo2; //导入本项目外的包

use demo1::Dog; //导入本项目的lib.rs的类

三、外部的crate的包模块

1、在本地的Cargo.tom文件中写:

dependencies

serde = "1.0"

2、在使用的文件,如main.rs中写:

use serde::{Serialize, Deserialize};