背景
Rust 语言是一种高效、可靠的通用高级语言。
本文展示了学习过程中收集的习题。
判断
FnMut可以执行多次。true
闭包可以捕抓其自身环境。true
当一个结构体实现了多个trait,且部分trait具有相同方法签名时,无法自主选择调用哪个方法。false
无法为结构体实现Sync trait。false
Box 用于在堆上分配内存。true
单选
下面哪个是正确的?
- i32没有实现Sized
- 发散函数的返回值是()
- 类型别名可以简化代码
- newtype模式无法规避孤儿规则
下面哪个是错误的?
- Send是标记trait,表明类型的所有权可以在线程间传递
- Arc实现了Send
- Mutex提供了读写锁的能力 应为互斥锁
- Mutex提供了内部可变性
下面哪项描述是错误的?
- Rc可以用于多线程场景
- Rc可以获取到强引用和弱引用的计数
- RefCell用于提供内部可变性
- rust并不保证完全地避免内存泄漏
下面哪个是错误的闭包?
- |i, j| i + j
- |i: i32, j: i32| i + j
- |i: i32, j: i32| => i32 { i + j }
- |i: i32, j: i32| -> i32 { i + j }
下面哪些是原子内存顺序?
All
- Relaxed
- Release
- Acquire
- AcqRel
- SeqCst
下面哪些是Fn系列的trait?
- Fn
- FnMut
- FnOnce
- FnTwice