我是前端,之前看到一个跟前端相关的库 swc,感觉 rust 很有意思,就开始自己看了,这两天大致了解了 rust 的语法,mod 相关的,但是使用 cargo 创建的工程,我不太明白 cargo 是怎么来运行这些工程的,比如我在 src 下创建了一个 bin 目录,bin 目录下有我学习 rust 过程创建的各个 lesson 目录,在同一个 lesson 目录下的文件,我必须在 main.rs 定义 mod 才能去使用其他文件导出的 struct 或者方法,如果直接使用 crate::xxx 去加载是找不到的,因为这个会去找 src 根目录,好像整个 bin 目录和 src 是脱离的。这块没太搞懂。官方的那个实践讲的有点简单。
1
共 3 条评论, 1 页
评论区
写评论好的,我去试试,感谢大佬回复
--
👇
gwy15: 要从
main.rs
或者lib.rs
里面一层一层显式声明mod
才可以把src
下面的作为模块。bin
和src
是两个不同的 crate,bin
或者example
,包括tests
下面要用src
里面的东西需要把对应的接口导出到lib.rs
,然后bin
里面用use crate_name
导入要从
main.rs
或者lib.rs
里面一层一层显式声明mod
才可以把src
下面的作为模块。bin
和src
是两个不同的 crate,bin
或者example
,包括tests
下面要用src
里面的东西需要把对应的接口导出到lib.rs
,然后bin
里面用use crate_name
导入不得不说 rust 的包管理工具 cargo 设计的是真牛逼