
Iterators & Closures
Iterator trait, iterator adapters (map, filter, fold), sintassi delle closure, move closures, Fn traits
1Quale trait deve implementare un tipo per poter essere usato in un ciclo for in Rust?
Quale trait deve implementare un tipo per poter essere usato in un ciclo for in Rust?
Risposta
Il trait IntoIterator consente a un tipo di essere convertito in un iteratore. Il ciclo for chiama automaticamente into_iter() sull'espressione. Tipi come Vec, array e range implementano questo trait per impostazione predefinita, il che permette di iterarli direttamente con for.
2Quale metodo del trait Iterator deve essere obbligatoriamente implementato?
Quale metodo del trait Iterator deve essere obbligatoriamente implementato?
Risposta
Il metodo next() è l'unico metodo richiesto del trait Iterator. Restituisce Option<Self::Item>, ovvero Some(item) se ci sono ancora elementi, oppure None quando l'iterazione è completa. Tutti gli altri metodi come map, filter o collect hanno implementazioni predefinite basate su next().
3Qual è la differenza tra iter(), iter_mut() e into_iter() su un Vec<T>?
Qual è la differenza tra iter(), iter_mut() e into_iter() su un Vec<T>?
Risposta
iter() restituisce un iteratore su riferimenti immutabili (&T), iter_mut() su riferimenti mutabili (&mut T), e into_iter() consuma il Vec e restituisce gli elementi per valore (T). La scelta dipende dal fatto che si voglia leggere, modificare o prendere possesso degli elementi.
Cos'è un iteratore lazy in Rust e perché è importante?
Qual è la sintassi corretta per definire una closure che accetta due parametri i32 e ne restituisce la somma?
+19 domande da colloquio
Altri argomenti di colloquio Rust
Fondamenti di Rust
Ownership & Borrowing
Structs & Enums
Gestione degli errori
Collezioni
Moduli e package
Traits
Generics
Lifetimes
Smart Pointers
Concurrency Basics
async/await
Testing
Cargo & Ecosystem
Pattern Matching
Macro
Serde e serializzazione
Unsafe Rust
Trait avanzati
Lifetime Avanzati
Type System
Tokio & Async I/O
Ottimizzazione delle Prestazioni
Memory Management
Web Frameworks
Database Integration
Design Pattern in Rust
Padroneggia Rust per il tuo prossimo colloquio
Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.
Inizia gratis