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,uintetc.) — 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ă)
}