Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Because you should wrapp that in a type safe function. You should not use the context.GetValue() directly but use your own function, the context is just a transport mechanism.


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


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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: