Go

Strutture dati in Go

Array, slice, map, struct, pointer, make vs new, valori nil

20 domande da colloquio·
Junior
1

Che cos'è uno slice in Go?

Risposta

Uno slice è una vista dinamica su un array sottostante che consente di manipolare sequenze di elementi di lunghezza variabile. A differenza degli array, che hanno una dimensione fissa definita in fase di compilazione, gli slice possono crescere o ridursi dinamicamente tramite operazioni come append. Questa flessibilità li rende la struttura dati sequenziale più usata in Go per memorizzare collezioni di elementi omogenei.

2

Qual è la differenza principale tra un array e uno slice in Go?

Risposta

La differenza fondamentale sta nella dimensione: un array ha una dimensione fissa definita in fase di compilazione e fa parte del tipo stesso, mentre uno slice ha una dimensione dinamica che può cambiare a runtime. Questa distinzione implica che due array di dimensioni diverse sono considerati tipi incompatibili, mentre tutti gli slice dello stesso tipo di elemento sono compatibili. Gli slice sono quindi più flessibili e più usati nel codice Go moderno.

3

Come creare uno slice vuoto in Go?

Risposta

La sintassi letterale con parentesi quadre vuote seguite da parentesi graffe vuote è il modo idiomatico per creare uno slice vuoto inizializzato. Questo approccio crea uno slice di lunghezza 0 ma non nil, pronto a ricevere elementi tramite append. A differenza di una semplice dichiarazione che produrrebbe uno slice nil, questa inizializzazione esplicita garantisce uno slice utilizzabile immediatamente senza rischio di comportamenti imprevisti durante l'aggiunta di elementi.

4

Quale funzione si deve usare per inizializzare uno slice con una capacità specifica?

5

Cosa succede quando si aggiunge un elemento a uno slice la cui capacità è stata raggiunta?

+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