golang map delete while iterating