#add #publish #test #i32 #mod

bin+lib module-publish

module publish test

1 unstable release

0.1.0 Jul 12, 2022

#1569 in Math

MIT license

5KB

mod & use

mod可以同时用来声明文件内模块和文件外模块。

  1. 当mod直接在一个文件当中声明并定义内容时,就是文件内模块

     mod math {
       pub add(x:i32, y:i32) -> i32 {
         x+y
       }
     }
    

    这个时候,文件内声明并定义了,那么效果就是相当于 直接引入了这个模块,无需再另外声明mod math引入它,可以直接用math::add(1,2)

  2. 当一个模块背放到单独的文件当中的时候,这个时候模块的定义就被放到外边去了,所以我们需要在使用的文件中引入这个模块mod math;,然后才可以使用math::add(1,2).

  3. 大多数时候,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大模块由多个小模块组成。

No runtime deps