Sobes.tech
Junior — Middle

Ce categorii de date permit compararea valorilor lor între ele?

sobes.tech AI

Răspuns de la AI

În Go (Golang), valorile pot fi comparate între ele dacă tipurile lor suportă operația de comparație. Categoriile de date care suportă comparația includ:

  • Valori booleene (bool) — pot fi comparate pentru egalitate și inegalitate.
  • Tipuri numerice (int, float64, uint etc.) — suportă toate operațiile standard de comparație (==, !=, <, >, <=, >=).
  • Șiruri de caractere (string) — sunt comparate lexicografic.
  • Pointeri — sunt comparați pentru egalitate și inegalitate.
  • Interfețe — sunt comparate dacă valorile interne sunt comparabile.
  • Structuri și matrice — sunt comparabile dacă toate câmpurile sau elementele lor sunt comparabile.

Tipurile care nu pot fi comparate direct, cum ar fi slices (slice), hărți (map), funcții, necesită abordări speciale pentru comparație.

Exemplu de comparare a șirurilor și numerelor:

package main
import "fmt"

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

    s1 := "măr"
    s2 := "banană"
    fmt.Println(s1 < s2) // true (ordine lexicografică)
}