I think the part of the spec you're after is under the heading: https://golang.org/ref/spec#For_statements, specifically the sub-heading of that link "For statements with range clause", specifically point 3 in the enumerated list:
*The iteration order over maps is not specified and is not guaranteed to be > the same from one iteration to the next. If map entries that have not yet > been reached are removed during iteration, the corresponding iteration > values will not be produced. If map entries are created during iteration, > that entry may be produced during the iteration or may be skipped. The > choice may vary for each entry created and from one iteration to the next. > If the map is nil, the number of iterations is 0.* On 1 May 2017 at 08:51, T L <tapir....@gmail.com> wrote: > > > On Monday, May 1, 2017 at 3:50:11 PM UTC+8, T L wrote: >> >> for example >> >> for k, v := range m { >> if SatisfySomeCondition(k, v) { >> delete(m, k) >> } >> } >> >> will the above iteration guarantee to delete all k-v pairs from m? >> > > will the above iteration guarantee to delete all k-v pairs satisfying a > condition from m? > > -- > 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. > -- 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.