nickzuck_007

Test map delete while iterating

Jun 4th, 2019
338
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Go 0.67 KB | None | 0 0
  1. package main
  2.  
  3. import (
  4.     "fmt"
  5.     "encoding/json"
  6. )
  7.  
  8. func main() {
  9.     fmt.Println("Hello, playground")
  10.     tm := make(map[int]int)
  11.    
  12.     for i := 0 ; i < 10 ; i++ {
  13.         tm[i] = i ;
  14.     }
  15.    
  16.     a, _ := json.Marshal(tm)
  17.     fmt.Println(string(a))
  18.    
  19.     finalMap := []int{}
  20.     v := 0
  21.     _ = v
  22.    
  23.     arr := []int{5, 6, 7, 8 , 9, 4, 32 , 2, 11}
  24.     for _, arrVal := range arr{
  25.         if val, ok := tm[arrVal] ; ok {
  26.             finalMap = append(finalMap, val)
  27.             delete(tm, arrVal)
  28.         }
  29.        
  30.     }
  31.    
  32.     b, _ := json.Marshal(tm)
  33.     fmt.Println(string(b))
  34.    
  35.     for _, key := range tm {
  36.         finalMap = append(finalMap, tm[key])
  37.         delete(tm, key)
  38.     }
  39.    
  40.     c, _ := json.Marshal(finalMap)
  41.     fmt.Println(string(c))
  42. }
Advertisement