The context package
The main purpose of the context
package is to define the Context
type and support cancellation. Yes, you heard that right; there are times when, for some reason, you want to abandon what you are doing. However, it would be very helpful to be able to include some extra information about your cancellation decisions. The context
package allows you to do exactly that.
If you take a look at the source code of the context
package, you will realize that its implementation is pretty simple—even the implementation of the Context
type is pretty simple, yet the context
package is very important.
The Context
type is an interface with four methods named Deadline()
, Done()
, Err()
, and Value()
. The good news is that you do not need to implement all of these functions of the Context
interface—you just need to modify a Context
variable using methods such as context.WithCancel()
, context.WithDeadline()
, and context.WithTimeout()
.
All three of these...