net/ip.go
func (m NetworkNumberMask) Mask(n NetworkNumber) (NetworkNumber, error) {
	if len(m) != len(n) {
		return nil, ErrVersionMismatch
	}
	result := make(NetworkNumber, len(m))
	result[0] = m[0] & n[0]
	if len(m) == IPv6Uint32Count {
		result[1] = m[1] & n[1]
		result[2] = m[2] & n[2]
		result[3] = m[3] & n[3]
	}
	return result, nil
}
func (m NetworkNumberMask) Mask(n NetworkNumber) (NetworkNumber, error) {
	if len(m) != len(n) {
		return nil, ErrVersionMismatch
	}
	result := make(NetworkNumber, len(m))
	result[0] = m[0] & n[0]
	if len(m) == IPv6Uint32Count {
		result[1] = m[1] & n[1]
		result[2] = m[2] & n[2]
		result[3] = m[3] & n[3]
	}
	return result, nil
}
func ( m NetworkNumberMask ) Mask ( n NetworkNumber ) ( NetworkNumber , error ) { if len ( m ) != len ( n ) { return nil , ErrVersionMismatch } result := make ( NetworkNumber , len ( m ) ) result [ 0 ] = m [ 0 ] & n [ 0 ] if len ( m ) == IPv6Uint32Count { result [ 1 ] = m [ 1 ] & n [ 1 ] result [ 2 ] = m [ 2 ] & n [ 2 ] result [ 3 ] = m [ 3 ] & n [ 3 ] } return result , nil }
// Mask returns a new masked NetworkNumber from given NetworkNumber.
Mask returns a new masked NetworkNumber from given NetworkNumber .