Sobes.tech
Junior — Middle

Quais são os tipos de dados incorporados em Go que permitem realizar operações de comparação?

sobes.tech IA

Resposta da IA

Em Go, as operações de comparação são suportadas para os seguintes tipos de dados integrados:

  • Valores booleanos (bool): podem ser comparados por igualdade e desigualdade.
  • Tipos numéricos (int, float32, float64, uint, etc.): suportam todas as operações de comparação padrão (==, !=, <, >, <=, >=).
  • Strings (string): são comparadas lexicograficamente usando os operadores ==, !=, <, >, <=, >=.
  • Ponteiros: são comparados por igualdade e desigualdade (se apontam para o mesmo objeto ou nil).
  • Interfaces: são comparadas por igualdade e desigualdade se os tipos dinâmicos e os valores forem comparáveis.
  • Arrays: são comparados elemento por elemento se os elementos forem comparáveis.

Os tipos que não podem ser comparados diretamente, como slices (slice), mapas (map), funções (func), não suportam operações de comparação, exceto a verificação contra nil.

Exemplo de comparação de strings e números:

package main
import "fmt"

func main() {
    a := 10
    b := 20
    fmt.Println(a < b) // true

    s1 := "apple"
    s2 := "banana"
    fmt.Println(s1 == s2) // false
}