Slice pointer keys are another option but that concept is tricky too.
Matt
On Tuesday, February 6, 2018 at 3:34:54 AM UTC-6, rog wrote:
>
> ... tick, tick, tick, tick... dide-dudi-diddlidedum...di!
>
> func comparable(xs []int) interface{} {
> type elem struct {
> first int
> rest interface{}
> }
> var r interface{}
> for _, x := range xs {
> r = elem{x, r}
> }
> return r
> }
>
> https://play.golang.org/p/7VG1MWDI-l-
>
> or, somewhat more generally:
>
> https://play.golang.org/p/_vfh2nT5cZL
>
> You can even use this technique to compare arbitrary DAGs.
> Not that it would be a good idea :)
>
> On 5 February 2018 at 17:49, roger peppe <[email protected] <javascript:>>
> wrote:
> > On 5 February 2018 at 11:38, Peter Waller <[email protected]
> <javascript:>> wrote:
> >> On 5 February 2018 at 11:04, roger peppe <[email protected]
> <javascript:>> wrote:
> >>>
> >>> > I'll bite, does it involve struct { len int; content [maxCount]int
> }, or
> >>> > did
> >>> > you have something else in mind?
> >>>
> >>> Something else. No size limit. Not what one might call efficient
> though.
> >>> :)
> >>
> >>
> >> [low growling]
> >>
> >> (ok, so I've been watching Stranger Things with subtitles too much...)
> >>
> >> I'm... not sure I can figure out what you're thinking of, dangit.
> >>
> >> Does it involve gratuitous numbers of calls to the fmt package?
> >
> > Nope. No fmt at all.
> >
> > A clue: struct{x interface{}}{12} == struct{x interface{}}{12}
>
--
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 [email protected].
For more options, visit https://groups.google.com/d/optout.