Junior — Middle
Que categorias de dados permitem comparar os seus valores entre si?
sobes.tech IA
Resposta da IA
Em Go (Golang), os valores podem ser comparados entre si se os seus tipos suportarem a operação de comparação. As categorias de dados que suportam comparação incluem:
- Valores booleanos (
bool) — podem ser comparados por igualdade e desigualdade. - Tipos numéricos (
int,float64,uint, etc.) — suportam todas as operações de comparação padrão (==,!=,<,>,<=,>=). - Strings (
string) — são comparadas lexicograficamente. - Ponteiros — são comparados por igualdade e desigualdade.
- Interfaces — são comparadas se os valores internos forem comparáveis.
- Estruturas e arrays — são comparáveis se todos os seus campos ou elementos forem comparáveis.
Tipos que não podem ser comparados diretamente, como slices (slice), mapas (map), funções, requerem abordagens especiais para comparação.
Exemplo de comparação de strings e números:
package main
import "fmt"
func main() {
a := 5
b := 10
fmt.Println(a < b) // true
s1 := "apple"
s2 := "banana"
fmt.Println(s1 < s2) // true (ordem lexicográfica)
}