# Strutture dati in Go (Go) > Array, slice, map, struct, pointer, make vs new, valori nil - 20 domande da colloquio - Junior - [Domande da colloquio: Go](https://sharpskill.dev/it/technologies/go/domande-colloquio.md) ## 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. ## Altre 17 domande disponibili - Quale funzione si deve usare per inizializzare uno slice con una capacità specifica? - Cosa succede quando si aggiunge un elemento a uno slice la cui capacità è stata raggiunta? Registrati gratis: https://sharpskill.dev/it/login ## Altri argomenti di colloquio Go - [Fondamenti di Go](https://sharpskill.dev/it/technologies/go/domande-colloquio/go-basics.md): 25 domande, Junior - [Interfacce in Go](https://sharpskill.dev/it/technologies/go/domande-colloquio/go-interfaces.md): 18 domande, Junior - [Gestione degli errori](https://sharpskill.dev/it/technologies/go/domande-colloquio/error-handling.md): 20 domande, Junior - [Goroutine di base](https://sharpskill.dev/it/technologies/go/domande-colloquio/goroutines-basics.md): 20 domande, Junior - [Channels](https://sharpskill.dev/it/technologies/go/domande-colloquio/channels.md): 22 domande, Junior - [Go Modules](https://sharpskill.dev/it/technologies/go/domande-colloquio/go-modules.md): 18 domande, Mid-Level - [Server HTTP](https://sharpskill.dev/it/technologies/go/domande-colloquio/http-server.md): 24 domande, Mid-Level - [Client HTTP](https://sharpskill.dev/it/technologies/go/domande-colloquio/http-client.md): 18 domande, Mid-Level - [Codifica JSON](https://sharpskill.dev/it/technologies/go/domande-colloquio/json-encoding.md): 20 domande, Mid-Level - [Database/SQL](https://sharpskill.dev/it/technologies/go/domande-colloquio/database-sql.md): 22 domande, Mid-Level - [Pacchetto context](https://sharpskill.dev/it/technologies/go/domande-colloquio/context-package.md): 20 domande, Mid-Level - [Testing](https://sharpskill.dev/it/technologies/go/domande-colloquio/testing.md): 22 domande, Mid-Level - [Pattern di concorrenza](https://sharpskill.dev/it/technologies/go/domande-colloquio/concurrency-patterns.md): 24 domande, Mid-Level - [Primitive di sincronizzazione](https://sharpskill.dev/it/technologies/go/domande-colloquio/sync-primitives.md): 22 domande, Mid-Level - [Framework web Go](https://sharpskill.dev/it/technologies/go/domande-colloquio/go-web-frameworks.md): 20 domande, Mid-Level - [Progettazione di API REST](https://sharpskill.dev/it/technologies/go/domande-colloquio/rest-api-design.md): 20 domande, Mid-Level - [gRPC](https://sharpskill.dev/it/technologies/go/domande-colloquio/grpc.md): 22 domande, Mid-Level - [Reflection](https://sharpskill.dev/it/technologies/go/domande-colloquio/reflection.md): 20 domande, Senior - [Gestione della memoria](https://sharpskill.dev/it/technologies/go/domande-colloquio/memory-management.md): 24 domande, Senior - [Ottimizzazione delle prestazioni](https://sharpskill.dev/it/technologies/go/domande-colloquio/performance-optimization.md): 22 domande, Senior - [Generics](https://sharpskill.dev/it/technologies/go/domande-colloquio/generics.md): 20 domande, Senior - [Go Design Patterns](https://sharpskill.dev/it/technologies/go/domande-colloquio/design-patterns.md): 24 domande, Senior - [Microservices](https://sharpskill.dev/it/technologies/go/domande-colloquio/microservices.md): 24 domande, Senior - [Sicurezza e autenticazione](https://sharpskill.dev/it/technologies/go/domande-colloquio/security-authentication.md): 24 domande, Senior - [Docker & Containerization](https://sharpskill.dev/it/technologies/go/domande-colloquio/docker-containerization.md): 20 domande, Senior - [Kubernetes Basics](https://sharpskill.dev/it/technologies/go/domande-colloquio/kubernetes-basics.md): 22 domande, Senior - [Go Avanzato](https://sharpskill.dev/it/technologies/go/domande-colloquio/advanced-go.md): 20 domande, Senior - [Sviluppo CLI](https://sharpskill.dev/it/technologies/go/domande-colloquio/cli-development.md): 20 domande, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/it/technologies/go/domande-colloquio/go-data-structures