答案解析:
答案:正确
crate是Rust的编译单元,一个crate可以包含多个模块。
模块是crate内部的组织单元,不能跨越crate边界。
如果需要在多个crate之间共享代码,需要通过依赖关系来实现。
答案解析:
答案:mod
mod关键字用于声明模块,例如:mod my_module { ... }
crate是编译单元的根,use用于引入项目,pub用于控制可见性。
模块可以是内联的(在同一文件中)或外部的(在单独文件中)。
答案解析:
答案:外部依赖的crate
[dependencies]部分列出了项目所依赖的外部crate及其版本。
例如:serde = "1.0"表示依赖serde crate的1.0版本。
Cargo会自动下载和管理这些依赖。
答案解析:
答案:正确
Rust遵循"默认私有"原则,所有项目默认都是私有的。
只有显式使用pub关键字标记的项目才能被外部模块访问。
这有助于封装和信息隐藏,提高代码的安全性。
答案解析:
答案:A
Rust使用use关键字来引入其他模块中的项目。
import、include、require是其他语言的关键字,在Rust中不存在。
use语句可以使用通配符(*)、重命名(as)等功能。
答案解析:
答案:binary crate, library crate
main.rs是binary crate的入口点,用于创建可执行程序。
lib.rs是library crate的入口点,用于创建可被其他项目使用的库。
一个项目可以同时包含binary和library crate。
答案解析:
答案:引用父模块
super关键字用于访问父模块中的项目,类似于文件系统中的".."。
self关键字引用当前模块,crate关键字引用根模块。
使用super可以避免写出完整的模块路径。
答案解析:
答案:正确
Rust支持使用花括号{}来一次性引入多个项目。
这种语法可以减少重复的use语句,使代码更简洁。
也可以使用通配符*来引入模块中的所有公共项目。
答案解析:
答案:cargo new
cargo new用于创建一个全新的Rust项目,包含基本的目录结构和文件。
cargo init用于在现有目录中初始化Rust项目。
cargo build用于编译项目,cargo run用于运行项目。
答案解析:
答案:^1.0 或 1.0
^1.0表示兼容1.0版本,允许1.0.x到1.x.x的版本,但不包括2.0。
这是Cargo的默认版本策略,遵循语义化版本控制。
也可以使用~1.0(只允许1.0.x)或=1.0(精确版本)等格式。