Ce face unicode.ToUpper
unicode.ToUpper(r), unicode.ToLower(r) și unicode.ToTitle(r) lucrează pe un singur caracter (rune), nu pe un text întreg. Dacă caracterul nu are o formă mare sau mică (cifre, semne), este returnat neschimbat.
Pentru texte întregi folosește strings.ToUpper și strings.ToLower. Funcțiile pe caracter sunt utile când vrei să schimbi doar anumite litere, de exemplu prima literă dintr-un cuvânt. ToTitle diferă de ToUpper doar la câteva litere duble (dž → Dž, nu DŽ).
Parametri
| Parametru | Descriere |
|---|---|
r |
Caracterul de transformat. |
Ce returnează
Caracterul transformat (rune).
Exemple
Exemplul 1: Prima literă a fiecărui cuvânt
package main
import (
"fmt"
"strings"
"unicode"
)
func main() {
s := "ștefan cel mare și sfânt"
var sb strings.Builder
inceputCuvant := true
for _, r := range s {
if inceputCuvant {
r = unicode.ToTitle(r)
}
sb.WriteRune(r)
inceputCuvant = unicode.IsSpace(r)
}
fmt.Println(sb.String())
}
Rezultat
Ștefan Cel Mare Și Sfânt
Exemplul 2: Caracter cu caracter
package main
import (
"fmt"
"unicode"
)
func main() {
for _, r := range []rune{'ș', 'Ț', '5', 'dž'} {
fmt.Printf("%c: upper %c, lower %c, title %c\n", r, unicode.ToUpper(r), unicode.ToLower(r), unicode.ToTitle(r))
}
}
Rezultat
ș: upper Ș, lower ș, title Ș
Ț: upper Ț, lower ț, title Ț
5: upper 5, lower 5, title 5
dž: upper DŽ, lower dž, title Dž
Greșeli frecvente
- Dai un
string:unicode.ToUpper("ș")nu compilează. Folosește'ș'saustrings.ToUpper. - Faci
byte(unicode.ToUpper(rune(s[0])))pe un text cu diacritice: primul octet al lui ș nu este o literă. Decodează întâi caracterul cuutf8.DecodeRuneInString.
Comenzi înrudite
strings.ToUpper: Returnează textul scris cu litere mari (ToUpper) sau mici (ToLower), inclusiv diacriticele.strings.ToTitle: ToTitle transformă literele în forma „de titlu”; variantele Special folosesc regulile unei limbi (de exemplu turca).unicode.IsUpper: Verifică dacă un caracter este literă mare (IsUpper) sau literă mică (IsLower).strings.Map: Transformă fiecare caracter al textului cu o funcție; dacă funcția returnează -1, caracterul este șters.