
Channels
Channels, buffered vs unbuffered, close, select, range sui channels, nil channels
1Cos'è un channel in Go?
Cos'è un channel in Go?
Risposta
Un channel è un tipo di dato che consente la comunicazione e la sincronizzazione tra goroutine. Funziona come un condotto tipizzato che permette di inviare e ricevere valori in modo thread-safe. Usa i channel per condividere dati tra goroutine invece di condividere la memoria direttamente.
2Come creare un unbuffered channel di interi in Go?
Come creare un unbuffered channel di interi in Go?
Risposta
Un unbuffered channel si crea con make(chan T) senza specificare la capacità. Blocca il mittente finché un ricevitore non è pronto, garantendo una sincronizzazione rigorosa. Usa gli unbuffered channel per comunicazioni one-to-one che richiedono una sincronizzazione esplicita.
3Qual è la differenza principale tra un buffered e un unbuffered channel?
Qual è la differenza principale tra un buffered e un unbuffered channel?
Risposta
Un unbuffered channel blocca il mittente finché un ricevitore non è pronto (sincronizzazione rigorosa), mentre un buffered channel può memorizzare valori fino alla sua capacità prima di bloccare. I buffered channel disaccoppiano le goroutine e migliorano le prestazioni in alcuni casi, ma possono nascondere problemi di concorrenza. Usa unbuffered per la sincronizzazione, buffered per il throughput.
Come creare un buffered channel con una capacità di 10 elementi?
Come inviare un valore in un channel?
+19 domande da colloquio
Altri argomenti di colloquio Go
Fondamenti di Go
Strutture dati in Go
Interfacce in Go
Gestione degli errori
Goroutine di base
Go Modules
Server HTTP
Client HTTP
Codifica JSON
Database/SQL
Pacchetto context
Testing
Pattern di concorrenza
Primitive di sincronizzazione
Framework web Go
Progettazione di API REST
gRPC
Reflection
Gestione della memoria
Ottimizzazione delle prestazioni
Generics
Go Design Patterns
Microservices
Sicurezza e autenticazione
Docker & Containerization
Kubernetes Basics
Go Avanzato
Sviluppo CLI
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