... 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 <rogpe...@gmail.com> wrote: > On 5 February 2018 at 11:38, Peter Waller <pe...@pdftables.com> wrote: >> On 5 February 2018 at 11:04, roger peppe <rogpe...@gmail.com> 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 golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.