Thanks for the reference! BTW I love this behaviour! On Tue, Jun 28, 2016, 00:14 Chris Hines <ggro...@cs-guy.com> wrote:
> The history of this behavior is explained in the release notes for Go 1.3: > https://golang.org/doc/go1.3#map > > > On Friday, June 24, 2016 at 8:48:20 AM UTC-4, Val wrote: >> >> 2 implementations here : >> http://www.programming-idioms.org/idiom/10/shuffle-a-list/1564/go >> >> As for the map iteration trick, the runtime doesn't guarantee to >> randomize anything, although it often tries to, so developers don't rely on >> some specific order. I've seen (in the past) some map iterations >> consistently not randomized at all. This behaviour may have evolved, but >> don't rely on it. >> >> >> On Friday, June 24, 2016 at 1:05:49 PM UTC+2, dc0d wrote: >>> >>> Hi; >>> >>> To shuffle items in a slice I'm doing this: >>> >>> var res []Item >>> >>> //fill res logic >>> >>> shuffle := make(map[int]*Item) >>> for k, v := range res { >>> shuffle[k] = &v >>> } >>> res = nil >>> for _, v := range shuffle { >>> res = append(res, *v) >>> } >>> >>> Which inserts items into a map then ranges over that map. Ranging over a >>> map in Go returns the items in random order. >>> >>> 1 - I thought it's a cool trick! >>> 2 - Is anything bad about doing this? >>> >> -- > You received this message because you are subscribed to a topic in the > Google Groups "golang-nuts" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/golang-nuts/UIYHKFeIf_k/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > golang-nuts+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. > -- Regards, Kaveh Shahbazian -- 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.