I don't think there are any.  Because you can do it doesn't mean you 
should.  It's incredibly confusing for readers (hence the confusion in this 
thread).

On Thursday, July 7, 2016 at 8:52:06 AM UTC-7, Kyle Stanly wrote:
>
> So, what would be the appropriate use-cases for this; I.E, using a map 
> index expression as the value?
>
> On Thursday, July 7, 2016 at 10:05:42 AM UTC-4, Kyle Stanly wrote:
>>
>> 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.

Reply via email to