map_test.go 689 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. package map_test
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "testing"
  6. )
  7. func TestKey(t *testing.T) {
  8. // type ss []string
  9. // mm := map[*ss]string{}
  10. }
  11. func TestNoOrderMap(t *testing.T) {
  12. mm := map[string]string{}
  13. mm["m"] = "m"
  14. mm["a"] = "a"
  15. mm["p"] = "p"
  16. mm["o"] = "o"
  17. mm["r"] = "r"
  18. mm["d"] = "d"
  19. // map 无序
  20. for k := range mm {
  21. println(k)
  22. }
  23. // json.Marshal 固定key顺序
  24. bs, _ := json.Marshal(mm)
  25. println(string(bs))
  26. }
  27. func TestConcurDeleteNotExistKey(t *testing.T) {
  28. mm := map[string]string{}
  29. for i := 0; i < 10000; i++ {
  30. mm[fmt.Sprint(i)] = fmt.Sprint(i)
  31. }
  32. println("删除不存在的key")
  33. for i := 0; i < 10000; i++ {
  34. go func() {
  35. delete(mm, "")
  36. }()
  37. }
  38. }