Rust

Generics

Funzioni generic, struct, enum, trait bounds, where clause, monomorphization

20 domande da colloquio·
Mid-Level
1

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.

2

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.

3

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.

4

Come aggiungere un trait bound a un parametro generic T?

5

Qual è la differenza tra le sintassi impl<T> Struct<T> e impl Struct<i32>?

+17 domande da colloquio

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