Rust包含2个相同的(通过api)vec模块:
http://doc.rust-lang.org/std/vec/index.html
http://doc.rust-lang.org/collections/vec/index.html
有什么区别?哪个更好?
该collections板条箱并不意味着被直接通常使用; 你应该使用std箱子.
std::vec只是重新collections::vec出口; 它是完全相同的模块.
如果你想使用Vec,你甚至不需要导入它use,因为它是前奏的一部分.前奏中定义的项目始终是隐式导入的.如果您需要从该模块导入其他项目,请写入use std::vec::X;而不是use collections::vec::X;
为什么collections存在?它可供那些谁写没有一个操作系统上运行的应用程序锈,或者应用程序的操作系统.std提供依赖于操作系统的功能,但某些部分std不支持; 那些被拆分成较小的板条箱,可以更容易地重复使用.但是,这些板条箱在不久的将来std不会稳定,而对于Rust 1.0来说将是稳定的,所以除非你真的需要避免std,否则只需使用std.
您可以std通过添加#![no_std]到crate root 来告诉编译器您不想使用.