Rust

Pattern Matching

match 式、if let、while let、destructuring、guards、@ bindings、網羅性

18 面接問題·
Mid-Level
1

Rust の基本的な match 式の正しい構文はどれですか?

回答

Rust の match 式は、match キーワードの後に分析する値を続け、その後に波括弧で囲まれた、カンマで区切られた複数のアーム(pattern)を記述します。各アームは pattern の後に => と実行するコードを続けます。この構文により、コンパイラはすべての可能なケースがカバーされていることを検証できます。

2

match で残りのすべての値を捕捉するには、どの pattern を使用すべきですか?

回答

_ (underscore) pattern は Rust の catch-all pattern です。値を変数にバインドせずに任意の値にマッチします。あるいは、変数名 (other や n など) を使うと値を捕捉できます。値を使わない場合は、意図が明確に伝わるため _ が好まれます。

3

if let は match と比べてどのように動作しますか?

回答

if let は、1 つの pattern だけを処理し他を無視する match の省略構文です。_ catch-all arm を持つ完全な match を書く代わりに、特定のケースだけが重要な場合に if let を使うと値を簡潔に取り出せます。Option や Result とともに使うと特に便利です。

4

Rust の pattern matching の文脈における exhaustiveness とは何ですか?

5

pattern match でタプルを分解するにはどうすればよいですか?

+15 面接問題

次の面接に向けてRustをマスター

すべての問題、flashcards、技術テスト、コードレビュー演習、面接シミュレーターにアクセス。

無料で始める