Go

Generics

Type parameters, constraints, comparable, any, funzioni generiche, tipi generici, inferenza di tipo

20 domande da colloquio·
Senior
1

Cos'è un type parameter in Go?

Risposta

Un type parameter è una variabile di tipo utilizzata nelle definizioni di funzioni o tipi generici, dichiarata tra parentesi quadre. Consente di scrivere codice riutilizzabile che funziona con tipi diversi senza sacrificare la type safety. I type parameter vengono istanziati con type argument concreti durante l'uso, permettendo al compilatore di verificare la coerenza dei tipi in fase di compilazione anziché a runtime.

2

Qual è la sintassi corretta per dichiarare una semplice funzione generica?

Risposta

La sintassi corretta per dichiarare una funzione generica usa parentesi quadre subito dopo il nome della funzione per definire i type parameter. Il constraint any consente di accettare qualsiasi tipo, simile a interface{} ma con una semantica più chiara nel contesto dei generics. Questa sintassi è stata introdotta in Go 1.18 per consentire la programmazione generica mantenendo la semplicità del linguaggio.

3

Cosa rappresenta il constraint 'any' in Go?

Risposta

Il constraint any è un alias per interface{} che rappresenta l'insieme di tutti i tipi possibili in Go. Consente a un type parameter di accettare qualsiasi tipo senza restrizioni, offrendo la massima flessibilità. Sebbene comodo, usare any significa rinunciare al controllo specifico dei tipi e spesso richiede type assertion per accedere a metodi o proprietà del tipo sottostante.

4

Qual è la differenza principale tra 'any' e 'comparable' come constraint?

5

Come dichiarare un tipo generico personalizzato come uno stack?

+17 domande da colloquio

Padroneggia Go per il tuo prossimo colloquio

Accedi a tutte le domande, flashcards, test tecnici, esercizi di code review e simulatori di colloquio.

Inizia gratis