1 个不稳定版本
0.1.0 | 2022年7月12日 |
---|
#1363 在 数学
5KB
mod & use
mod 可以用来同时声明文件内模块和文件外模块。
-
当mod直接在一个文件中声明并定义内容时,就是文件内模块
mod math { pub add(x:i32, y:i32) -> i32 { x+y } }
这个时候,文件内声明并定义了,那么效果就是相当于 直接引入了这个模块,无需再另外声明mod math引入它,可以直接用
math::add(1,2)
-
当一个模块被放到单独的文件中的时候,这个时候模块的定义就被放到外边去了,所以我们需要在使用的文件中引入这个模块
mod math;
,然后才可以使用math::add(1,2)
. -
大多数时候,math 可能是一个大模块,下面包含着各种子模块。所以 math 此时可以定义成一个文件夹,然后下面放着各种小模块,例如
math/add.rs
。但是我们如何才能通过mod math
去引入 math 模块呢,因为现在 math 变成了文件夹而不是 math.rs 了。我们可以在 math 下添加一个 mod.rs 然后通过它集成所有小模块进来,这就相当于 ts 当中写一个math/index.ts
,然后集成其他的小模块一样。最后在需要使用的地方import math from 'math'
就会自动到 math 文件夹下找 index.ts,这里就会自动寻找 mod.rs。相当于引入了 math 模块。一个 math 大模块由多个小模块组成。