
Generics
Funzioni generic, struct, enum, trait bounds, where clause, monomorphization
1Qual è la sintassi corretta per dichiarare una funzione generic in Rust?
Qual è la sintassi corretta per dichiarare una funzione generic in Rust?
Risposta
In Rust, i type parameter generic si dichiarano usando angle brackets dopo il nome della funzione. La sintassi fn name<T>(param: T) indica che T è un type parameter che verrà determinato all'uso. Il compilatore genera quindi codice specializzato per ogni tipo concreto usato quando si chiama la funzione.
2Come si dichiara una struct generic con un campo di tipo T?
Come si dichiara una struct generic con un campo di tipo T?
Risposta
Una struct generic si dichiara con il type parameter tra angle brackets dopo il nome della struct. La sintassi struct Name<T> { field: T } consente di creare una struttura riutilizzabile con tipi diversi. Il tipo T può poi essere usato nei campi e nei metodi associati a questa struct.
3Che cos'è la monomorphization in Rust?
Che cos'è la monomorphization in Rust?
Risposta
La monomorphization è il processo con cui il compilatore Rust genera codice macchina specializzato per ogni tipo concreto usato con un generic. Ad esempio, se una funzione generic viene chiamata con i32 e String, il compilatore crea due versioni distinte di quella funzione. Questo garantisce prestazioni ottimali senza overhead a runtime.
Come aggiungere un trait bound a un parametro generic T?
Qual è la differenza tra le sintassi impl<T> Struct<T> e impl Struct<i32>?
+17 domande da colloquio
Altri argomenti di colloquio Rust
Fondamenti di Rust
Ownership & Borrowing
Structs & Enums
Gestione degli errori
Collezioni
Moduli e package
Traits
Lifetimes
Iterators & Closures
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