1 unstable release
0.1.0 | Jul 12, 2022 |
---|
#1386 in Math
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大模块由多个小模块组成。