Hacker News new | ask | show | jobs
by tptacek 1426 days ago
It is deeply idiomatic in the language.
1 comments

But only because there's no `contains` function!
If perl has taught us anything... 3 ways to do something is worse than 1.
what `contains` what?

you could write this in Go

   if m[key] { }
the comma ok idiom simply lets you distinguish a "zero" value from a missing value.
Agreed that `key in m` or `m.contains(key)` would be clearer, but checking the value rather than the presence is asking for trouble.
`if m[key] { }` is only valid Go if m is a map from something to bool, so I don't know what you even mean.