For example, you can further use
context for cancellation or tracing, here is the quote from Sameer Ajmani post about
At Google, we require that Go programmers pass a
Context parameter as the first argument to every function on the call path between incoming and outgoing requests. This allows Go code developed by many different teams to interoperate well. It provides simple control over timeouts and cancelation and ensures that critical values like security credentials transit Go programs properly.