- add util func RemoveGeneralMapKeys

This commit is contained in:
gazebo
2018-10-28 12:25:19 +08:00
parent 356f622cd0
commit 1db3cc9455
2 changed files with 34 additions and 0 deletions

View File

@@ -201,3 +201,14 @@ func TrimBlanChar(str string) string {
return strValue == " " || strValue == "\t" || strValue == "\n" || strValue == "\r"
})
}
func RemoveGeneralMapKeys(obj map[string]interface{}, keys ...string) map[string]interface{} {
if obj != nil {
for _, key := range keys {
if _, ok := obj[key]; ok {
delete(obj, key)
}
}
}
return obj
}

View File

@@ -102,3 +102,26 @@ func TestFilterMb4(t *testing.T) {
t.Fatal("FilterMb4 can not filter mb4 characters")
}
}
func TestRemoveGeneralMapKeys(t *testing.T) {
obj1 := map[string]interface{}{
"key1": 1,
"key2": "2",
"key3": 3,
"key4": nil,
}
obj11 := RemoveGeneralMapKeys(obj1, "key2", "key3", "key4")
if obj11["key1"] != 1 {
t.Fatal("RemoveGeneralMapKeys doesn't keep key correctly")
}
if _, ok := obj11["key2"]; ok {
t.Fatal("RemoveGeneralMapKeys doesn't remove key correctly")
}
if _, ok := obj11["key4"]; ok {
t.Fatal("RemoveGeneralMapKeys doesn't remove key correctly")
}
t.Log(obj11)
if RemoveGeneralMapKeys(nil, "key1") != nil {
t.Fatal("RemoveGeneralMapKeys handle nil wrong")
}
}