strings.ToTitle în Go

ToTitle transformă literele în forma „de titlu”; variantele Special folosesc regulile unei limbi (de exemplu turca).

Sintaxă
func ToTitle(s string) string
func ToUpperSpecial(c unicode.SpecialCase, s string) string
func ToLowerSpecial(c unicode.SpecialCase, s string) string
func ToTitleSpecial(c unicode.SpecialCase, s string) string

Ce face strings.ToTitle

strings.ToTitle(s) transformă fiecare literă în forma ei de titlu (title case). Pentru aproape toate literele, inclusiv cele românești, rezultatul este același ca la ToUpper. Diferă doar la câteva litere duble din Unicode, de exemplu „dž”: majuscula este „DŽ”, iar forma de titlu „Dž”. Atenție: ToTitle transformă toate literele, nu doar prima din fiecare cuvânt.

ToUpperSpecial, ToLowerSpecial și ToTitleSpecial primesc un set de reguli speciale ale unei limbi (unicode.SpecialCase). Biblioteca standard are unicode.TurkishCase (și AzeriCase): în turcă, „i” mic devine „İ” (cu punct), iar „I” mare devine „ı” (fără punct).

Pentru limba română nu există reguli speciale; ToUpper și ToLower sunt suficiente.

Parametri

Parametru Descriere
s Textul de transformat.
c La variantele Special: regulile limbii, de exemplu unicode.TurkishCase.

Ce returnează

Textul transformat.

Exemple

Exemplul 1: ToTitle față de ToUpper

package main

import (
	"fmt"
	"strings"
)

func main() {
	fmt.Println(strings.ToTitle("brașov"), strings.ToUpper("brașov"))
	fmt.Println(strings.ToTitle("dž"), strings.ToUpper("dž"))
	fmt.Println(strings.ToTitle("ana are mere"))
}

Rezultat

BRAȘOV BRAȘOV
Dž DŽ
ANA ARE MERE

Exemplul 2: Regulile limbii turce

package main

import (
	"fmt"
	"strings"
	"unicode"
)

func main() {
	fmt.Println(strings.ToUpper("istanbul"))
	fmt.Println(strings.ToUpperSpecial(unicode.TurkishCase, "istanbul"))
	fmt.Println(strings.ToLowerSpecial(unicode.TurkishCase, "IRMAK"))
	fmt.Println(strings.ToTitleSpecial(unicode.TurkishCase, "iyi"))
}

Rezultat

ISTANBUL
İSTANBUL
ırmak
İYİ

Greșeli frecvente

  • Folosești ToTitle ca să faci prima literă a fiecărui cuvânt mare. Face toate literele mari; pentru prima literă vezi exemplul de pe pagina strings.ToUpper.

Comenzi înrudite

  • strings.ToUpper: Returnează textul scris cu litere mari (ToUpper) sau mici (ToLower), inclusiv diacriticele.
  • unicode.ToUpper: Transformă un singur caracter în literă mare, mică sau în forma de titlu; celelalte caractere rămân neschimbate.