要在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};