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.

Reply via email to