logoalt Hacker News

kflgkans01/21/20251 replyview on HN

If it is just a transport mechanism, why use context at all ant not a typed struct?


Replies

ncruces01/21/2025

Because dozens of in between layers don't need to know the type, and should in fact work regardless of the specific type.

Context tells you enough: someone, somewhere may do magic with this if you pass it down the chain.

And in good Go tradition it's explicit about this: functions that don't take a context don't (generally) do that kind of magic.

If anything it mixes two concerns: cancelation and dynamic scoping.

But I'm not sure having two different parameters would be better.