Il package context trasporta segnali di cancellazione, scadenze e valori associati alle richieste attraverso i confini delle API e i goroutine. È il meccanismo standard per controllare il ciclo di vita delle operazioni — in particolare per cancellare il lavoro e propagare i timeout attraverso una catena di chiamate di funzioni.
Il problema principale che risolve
A request starts work across many goroutines/functions (DB query, API call, etc.).
If the client disconnects or a timeout hits, you want to CANCEL all that work
so goroutines don't keep running uselessly (wasting resources / leaking).
→ context propagates the "stop now" signal down the entire call chain.
