Junior — Middle
É possível comparar dois segmentos de um array ou lista entre si?
sobes.tech IA
Resposta da IA
Em Go, não é possível comparar diretamente dois slices usando o operador ==, exceto para comparação com nil. Para comparar o conteúdo dos slices, é necessário escrever sua própria função ou usar o pacote reflect.
Exemplo de uma função para comparar dois slices de inteiros:
func slicesEqual(a, b []int) bool {
if len(a) != len(b) {
return false
}
for i := range a {
if a[i] != b[i] {
return false
}
}
return true
}
Também é possível usar reflect.DeepEqual(a, b), mas isso é menos eficiente e adequado para casos gerais.
Portanto, a comparação de slices é possível, mas requer uma implementação explícita da comparação de elementos.