Junior — Middle
Quali categorie di dati consentono di confrontare i loro valori tra loro?
sobes.tech AI
Risposta dell'AI
In Go (Golang), i valori possono essere confrontati tra loro se i loro tipi supportano l'operazione di confronto. Le categorie di dati che supportano il confronto includono:
- Valori booleani (
bool) — possono essere confrontati per uguaglianza e disuguaglianza. - Tipi numerici (
int,float64,uint, ecc.) — supportano tutte le operazioni di confronto standard (==,!=,<,>,<=,>=). - Stringhe (
string) — vengono confrontate lessicograficamente. - Puntatori — vengono confrontati per uguaglianza e disuguaglianza.
- Interfacce — vengono confrontate se i valori interni sono confrontabili.
- Strutture e array — sono confrontabili se tutti i loro campi o elementi sono confrontabili.
I tipi che non possono essere confrontati direttamente, come gli slice (slice), le mappe (map), le funzioni, richiedono approcci speciali per il confronto.
Esempio di confronto tra stringhe e numeri:
package main
import "fmt"
func main() {
a := 5
b := 10
fmt.Println(a < b) // true
s1 := "mela"
s2 := "banana"
fmt.Println(s1 < s2) // true (ordine lessicografico)
}