# Pattern Matching (Rust) > Espressioni match, if let, while let, destructuring, guards, @ bindings, esaustività - 18 domande da colloquio - Mid-Level - [Domande da colloquio: Rust](https://sharpskill.dev/it/technologies/rust/domande-colloquio.md) ## 1. Qual è la sintassi corretta per un'espressione match di base in Rust? **Risposta** L'espressione match in Rust usa la parola chiave match seguita dal valore da analizzare, poi le parentesi graffe che contengono i diversi rami (pattern) separati da virgole. Ogni ramo usa il pattern seguito da => e dal codice da eseguire. Questa sintassi permette al compilatore di verificare che tutti i casi possibili siano coperti. ## 2. Quale pattern si deve usare per catturare tutti i valori rimanenti in un match? **Risposta** Il pattern _ (underscore) è il pattern catch-all in Rust. Corrisponde a qualsiasi valore senza legarlo a una variabile. In alternativa, usare un nome di variabile (come other o n) cattura il valore. Il _ è preferito quando il valore non viene usato, poiché indica chiaramente l'intenzione. ## 3. Come funziona if let rispetto a match? **Risposta** if let è una sintassi abbreviata per un match che gestisce un solo pattern e ignora gli altri. Invece di scrivere un match completo con un arm catch-all _, if let permette di estrarre un valore in modo conciso quando conta solo un caso specifico. È particolarmente utile con Option e Result. ## Altre 15 domande disponibili - Cos'è l'exhaustiveness nel contesto del pattern matching di Rust? - Come destrutturare una tupla in un pattern match? Registrati gratis: https://sharpskill.dev/it/login ## Altri argomenti di colloquio Rust - [Fondamenti di Rust](https://sharpskill.dev/it/technologies/rust/domande-colloquio/rust-basics.md): 25 domande, Junior - [Ownership & Borrowing](https://sharpskill.dev/it/technologies/rust/domande-colloquio/ownership-borrowing.md): 22 domande, Junior - [Structs & Enums](https://sharpskill.dev/it/technologies/rust/domande-colloquio/structs-enums.md): 20 domande, Junior - [Gestione degli errori](https://sharpskill.dev/it/technologies/rust/domande-colloquio/error-handling.md): 18 domande, Junior - [Collezioni](https://sharpskill.dev/it/technologies/rust/domande-colloquio/collections.md): 20 domande, Junior - [Moduli e package](https://sharpskill.dev/it/technologies/rust/domande-colloquio/modules-packages.md): 18 domande, Junior - [Traits](https://sharpskill.dev/it/technologies/rust/domande-colloquio/traits.md): 22 domande, Mid-Level - [Generics](https://sharpskill.dev/it/technologies/rust/domande-colloquio/generics.md): 20 domande, Mid-Level - [Lifetimes](https://sharpskill.dev/it/technologies/rust/domande-colloquio/lifetimes.md): 20 domande, Mid-Level - [Iterators & Closures](https://sharpskill.dev/it/technologies/rust/domande-colloquio/iterators-closures.md): 22 domande, Mid-Level - [Smart Pointers](https://sharpskill.dev/it/technologies/rust/domande-colloquio/smart-pointers.md): 22 domande, Mid-Level - [Concurrency Basics](https://sharpskill.dev/it/technologies/rust/domande-colloquio/concurrency-basics.md): 20 domande, Mid-Level - [async/await](https://sharpskill.dev/it/technologies/rust/domande-colloquio/async-await.md): 22 domande, Mid-Level - [Testing](https://sharpskill.dev/it/technologies/rust/domande-colloquio/testing.md): 18 domande, Mid-Level - [Cargo & Ecosystem](https://sharpskill.dev/it/technologies/rust/domande-colloquio/cargo-ecosystem.md): 18 domande, Mid-Level - [Macro](https://sharpskill.dev/it/technologies/rust/domande-colloquio/macros.md): 20 domande, Mid-Level - [Serde e serializzazione](https://sharpskill.dev/it/technologies/rust/domande-colloquio/serde-serialization.md): 20 domande, Mid-Level - [Unsafe Rust](https://sharpskill.dev/it/technologies/rust/domande-colloquio/unsafe-rust.md): 20 domande, Senior - [Trait avanzati](https://sharpskill.dev/it/technologies/rust/domande-colloquio/advanced-traits.md): 22 domande, Senior - [Lifetime Avanzati](https://sharpskill.dev/it/technologies/rust/domande-colloquio/advanced-lifetimes.md): 20 domande, Senior - [Type System](https://sharpskill.dev/it/technologies/rust/domande-colloquio/type-system.md): 20 domande, Senior - [Tokio & Async I/O](https://sharpskill.dev/it/technologies/rust/domande-colloquio/tokio-async.md): 22 domande, Senior - [Ottimizzazione delle Prestazioni](https://sharpskill.dev/it/technologies/rust/domande-colloquio/performance-optimization.md): 20 domande, Senior - [Memory Management](https://sharpskill.dev/it/technologies/rust/domande-colloquio/memory-management.md): 20 domande, Senior - [Web Frameworks](https://sharpskill.dev/it/technologies/rust/domande-colloquio/web-frameworks.md): 22 domande, Senior - [Database Integration](https://sharpskill.dev/it/technologies/rust/domande-colloquio/database-integration.md): 20 domande, Senior - [Design Pattern in Rust](https://sharpskill.dev/it/technologies/rust/domande-colloquio/design-patterns.md): 20 domande, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/it/technologies/rust/domande-colloquio/pattern-matching