Ce face strings.EqualFold
strings.EqualFold(s, t) returnează true dacă textele sunt egale când ignori diferența dintre litere mari și mici. Funcționează pe Unicode, deci „ȘCOALĂ” și „școală” sunt egale.
Este mai rapid și mai corect decât strings.ToLower(a) == strings.ToLower(b), pentru că nu creează texte noi. Diacriticele nu sunt ignorate: „Iasi” și „Iași” rămân diferite.
Parametri
| Parametru | Descriere |
|---|---|
s, t |
Textele comparate. |
Ce returnează
true dacă textele sunt egale fără să conteze literele mari.
Exemple
Exemplul 1: Răspunsuri scrise oricum
package main
import (
"fmt"
"strings"
)
func main() {
raspunsuri := []string{"DA", "da", "Da", "nu"}
for _, r := range raspunsuri {
fmt.Printf("%-3s este „da”? %t\n", r, strings.EqualFold(r, "da"))
}
fmt.Println(strings.EqualFold("ȘCOALĂ", "școală"))
fmt.Println(strings.EqualFold("Iasi", "Iași"))
}
Rezultat
DA este „da”? true
da este „da”? true
Da este „da”? true
nu este „da”? false
true
false
Greșeli frecvente
- Te aștepți ca EqualFold să ignore diacriticele. Nu le ignoră: „ș” și „s” sunt litere diferite.
- Folosești
==pentru adrese de e-mail sau comenzi tastate de utilizator. „Ana@Exemplu.ro” nu este egal cu „ana@exemplu.ro”.
Comenzi înrudite
strings.Compare: Compară două texte octet cu octet și returnează -1, 0 sau 1; util la sortare.strings.ToUpper: Returnează textul scris cu litere mari (ToUpper) sau mici (ToLower), inclusiv diacriticele.strings.Contains: Verifică dacă un text conține un alt text, unul dintre niște caractere, un caracter anume sau un caracter care respectă o condiție.