I noticed that the specification states: "As with an assignment, if present the operands on the left must be addressable or map index expressions; they denote the iteration variables."
Here is the thing I am having trouble imagining... if the iterator keeps a snapshot of the map at the time the iterator was created, would the map index expression obtain the actual, up-to-date value for the given key? Maybe even determine if it was deleted? I.E... for k, m[k] := range m {...} Apparently is valid Go syntax, however what are the semantics behind this? If another Goroutine calls delete(...) and removes that element from the map, would this pretty much restore that value back into the map (from what is held in the snapshot)? How would you go about retrieving that value again? Do you need to re-enter the map to obtain the value again through that key, 'k'? What are the practical applications for this? -- 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.