// computeOverlap returns two maps, m1 and m2. m1 contains the map entries of x, for
// which the keys either don't exist in y, or do exist but with different values than
// in x. m2 contains map entries of y that don't exist in x.
computeOverlap returns two maps, m1 and m2. m1 contains the map entries of x, for
which the keys either don't exist in y, or do exist but with different values than
in x. m2 contains map entries of y that don't exist in x.
// computeOverlap returns two maps m1 and m2 . m1 contains the map entries of x for // which the keys either don ' t exist in y or do exist but with different values than // in x . m2 contains map entries of y that don ' t exist in x .
func computeOverlap(x, y map[string]string) (m1, m2 map[string]string) {
	m1 = make(map[string]string)
	m2 = make(map[string]string)
	for k, v := range x {
		yv, ok := y[k]
		if !(ok && v == yv) {
			m1[k] = v
		}
	}
	for k, v := range y {
		if _, ok := x[k]; !ok {
			m2[k] = v
		}
	}
	return m1, m2
}
func computeOverlap ( x , y map [ string ] string ) ( m1 , m2 map [ string ] string ) { m1 = make ( map [ string ] string ) m2 = make ( map [ string ] string ) for k , v := range x { yv , ok := y [ k ] if ! ( ok && v == yv ) { m1 [ k ] = v } } for k , v := range y { if _ , ok := x [ k ] ; ! ok { m2 [ k ] = v } } return m1 , m2 }
computeOverlap returns two maps, m1 and m2.
computeOverlap returns two maps m1 and m2 .
// if the key exists in both x and y, and they have the same value, exclude it. // keys that exist in y, but not in x