News for hackers. Stuff that matters.
Re:New in Go 1.20: wrapping multiple errors by XorNot on Sunday December 11, 2022 @09:05AM (#33943263)
Set is just a Map though where you don't care about the values.

var m[string]struct{} implements this for you.

What you're really missing is the usual suite of helper methods which make sets ergonomic - and for that you need proper generics.

Re:New in Go 1.20: wrapping multiple errors by masklinn on Monday December 12, 2022 @02:47AM (#33952039)
Fwiw lots of folks dislike m[K]struct{}, because while it’s efficient checking for presence is horrible:

    _, present = m[k]
It looks weird and is not an expressions. Obviously you could paper over this with a dedicated builtin function but that’s not great.

A common alternative is m[string]bool, memory density is worse but contains/add/remove are easier to read and more convenient.