array_diff_assoc

array_diff_assoc

[code=golang]
func arrayDiffAssoc(s1, s2 map[string]interface{}) map[string]interface{} {

	r := make(map[string]interface{})
	for k, v := range s1 {
		if c, ok := s2[k]; !ok || c != v {
			r[k] = v
		}
	}

	return r

}
[/code]