
Iterators & Closures
Iterator トレイト、iterator アダプタ(map、filter、fold)、closure 構文、move closures、Fn トレイト
22 面接問題·
Mid-Level
1Rust の for ループで使用できるようにするには、型はどの trait を実装する必要がありますか?
1
Rust の for ループで使用できるようにするには、型はどの trait を実装する必要がありますか?
回答
IntoIterator トレイトは、型をイテレータに変換できるようにします。for ループは式に対して自動的に into_iter() を呼び出します。Vec、配列、range などの型はデフォルトでこのトレイトを実装しているため、for で直接反復処理できます。
2Iterator トレイトのどのメソッドを必ず実装する必要がありますか?
2
Iterator トレイトのどのメソッドを必ず実装する必要がありますか?
回答
next() メソッドは Iterator トレイトで唯一必須のメソッドです。Option<Self::Item> を返し、要素が残っていれば Some(item)、反復が完了すれば None を返します。map、filter、collect などの他のすべてのメソッドは next() に基づくデフォルト実装を持っています。
3Vec<T> における iter()、iter_mut()、into_iter() の違いは何ですか?
3
Vec<T> における iter()、iter_mut()、into_iter() の違いは何ですか?
回答
iter() は不変参照(&T)のイテレータを返し、iter_mut() は可変参照(&mut T)のイテレータを返し、into_iter() は Vec を消費して要素を値(T)で返します。どれを選ぶかは、要素を読むか、変更するか、所有権を取得するかによって決まります。
4
Rust における lazy なイテレータとは何で、なぜ重要なのですか?
5
2 つの i32 パラメータを受け取り、その合計を返す closure を定義する正しい構文はどれですか?
+19 面接問題
その他のRust面接トピック
Rustの基礎
Junior
25問Ownership & Borrowing
Junior
22問Structs & Enums
Junior
20問エラー処理
Junior
18問コレクション
Junior
20問モジュールとパッケージ
Junior
18問Traits
Mid-Level
22問Generics
Mid-Level
20問Lifetimes
Mid-Level
20問Smart Pointers
Mid-Level
22問Concurrency Basics
Mid-Level
20問async/await
Mid-Level
22問Testing
Mid-Level
18問Cargo & Ecosystem
Mid-Level
18問Pattern Matching
Mid-Level
18問マクロ
Mid-Level
20問Serde とシリアライゼーション
Mid-Level
20問Unsafe Rust
Senior
20問高度なトレイト
Senior
22問高度な lifetime
Senior
20問Type System
Senior
20問Tokio & Async I/O
Senior
22問パフォーマンス最適化
Senior
20問Memory Management
Senior
20問Web Frameworks
Senior
22問Database Integration
Senior
20問Rust デザインパターン
Senior
20問