组织Rust项目是否有标准时尚?我已经使用C系列编程语言超过九年了,但Rust在某些方面似乎有所不同。
是否应该以与C系列语言类似的方式组织他们的项目,尤其是面向对象的语言?
project
|->src
|->main.rs
|->structs.rs
或者也许是这样?
project
|->src
|->main.rs
|->struct0.rs
|->struct1.rs
|->struct2.rs
|->struct3.rs
即每个结构一个文件?
或者每次创建新的二进制项目时,他们是否会创建新的二进制项目?我目前正在使用Cargo来生成我的项目,但公平地说不太了解它。最后,当我阅读整个Cargo文档时,我会想到一点,尽管我希望在此之前更多地了解Rust。
请在树和文本中解释,以及可能的一些代码。
答案 0 :(得分:5)
尝试计划如何根据逻辑而不是对象来组织程序。将您的逻辑拆分为单独的模块。
如果您有一个小模块,则将其设为单个文件modname.rs
,或者如果它是一个更大的模块(由子模块组成),则创建一个文件夹中至少包含mod.rs
个文件:{{ 1}}。
如果您的项目变得非常庞大,您还可以将其拆分为几个箱子(库),然后您可以在主项目中依赖它们。
您可以在官方防锈书中阅读有关Rusts包装箱和模块系统的更多信息:https://doc.rust-lang.org/book/crates-and-modules.html