Go

Pacchetto context

context.Context, cancellazione, timeout, deadline, valori, WithCancel, WithTimeout

20 domande da colloquio·
Mid-Level
1

Qual è il ruolo principale del pacchetto context in Go?

Risposta

Il pacchetto context permette di gestire timeout, cancellazioni e deadline in modo coerente attraverso l'intera catena di chiamate. Questo evita le goroutine zombie che continuano a girare quando il loro risultato non è più necessario. Passare sempre il context come primo parametro e verificare regolarmente Done() nelle operazioni lunghe per rispettare le cancellazioni.

2

Quale funzione crea un context vuoto senza deadline né cancellazione?

Risposta

context.Background() restituisce un context vuoto, non annullabile, senza deadline né valori. Funge da punto di partenza per creare context derivati ed è tipicamente usato in main, nell'inizializzazione o nei test. Non usare mai nil come context perché causa panic durante l'accesso ai metodi.

3

Qual è la differenza tra context.Background() e context.TODO()?

Risposta

context.TODO() funge da placeholder quando il context appropriato non è ancora chiaro o disponibile durante lo sviluppo. context.Background() viene usato per i punti di ingresso reali come main o gli handler HTTP. Entrambi sono funzionalmente identici ma TODO() documenta un'intenzione temporanea che dovrebbe essere sostituita in seguito.

4

Come creare un context che può essere annullato manualmente?

5

Quale channel permette di rilevare la cancellazione di un context?

+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