Ah, thanks!

> On Nov 18, 2017, at 9:00 AM, Sameer Ajmani <sam...@golang.org> wrote:
> 
> Context.TODO and Background have different String values; see emptyCtx.String.
> On Fri, Nov 17, 2017 at 9:25 PM me via golang-nuts 
> <golang-nuts@googlegroups.com <mailto:golang-nuts@googlegroups.com>> wrote:
> I've found a hint. Apparently, both context.TODO and context.Background share 
> a common implementation but they need distinct addresses.
> 
> See https://golang.org/src/context/context.go#L168 
> <https://golang.org/src/context/context.go#L168>
> 
> So they cannot be constants because then they would not have an address. They 
> cannot be variables because then you could modify them. Therefore the only 
> solution left is to make them a function that returns a variable.
> 
> Then again, maybe you could make Background and TODO of an unexported type to 
> prevent setting them. I think that was not chosen because it leaks the 
> internals of the package.
> 
> But I'm not sure why they need distinct addresses in the first place. I'm 
> guessing its for debugging or just what makes sense? context.TODO and 
> context.Background are two different contexts and should be treated as such.
> 
> 
> On Friday, November 17, 2017 at 10:43:29 AM UTC-5, Alex Buchanan wrote:
> I don't have numbers, but context must be one of the most commonly used 
> imports/types in my code. It shows up many function signatures. We try to use 
> it for all cancelation.
> 
> Would it make sense to add an alias "C" to the type "Context"? And maybe "BG" 
> for Background()? 
> 
> Also, is there a specific reason Background is a function and not a value?
> 
> Cheers,
> Alex
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email to golang-nuts+unsubscr...@googlegroups.com 
> <mailto:golang-nuts+unsubscr...@googlegroups.com>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to