Go

Context Package

context.Context, cancellation, timeouts, deadlines, values, WithCancel, WithTimeout

20 domande da colloquioยท
Mid-Level
1

What is the main role of the context package in Go?

Risposta

The context package allows managing timeouts, cancellations and deadlines consistently across the entire call chain. This prevents zombie goroutines that continue running when their result is no longer needed. Always pass the context as the first parameter and regularly check Done() in long operations to respect cancellations.

2

Which function creates an empty context without deadline or cancellation?

Risposta

context.Background() returns an empty, non-cancellable context without deadline or values. It serves as a starting point for creating derived contexts and is typically used in main, initialization or tests. Never use nil as a context as it causes panics when accessing methods.

3

What is the difference between context.Background() and context.TODO()?

Risposta

context.TODO() serves as a placeholder when the appropriate context is not yet clear or available during development. context.Background() is used for real entry points like main or HTTP handlers. Both are functionally identical but TODO() documents a temporary intention that should be replaced later.

4

How to create a context that can be manually cancelled?

5

Which channel allows detecting the cancellation of a 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