Sobes.tech
Junior — Middle

Ce valoare returnează funcția len atunci când este aplicată unui tip de date de tip șir?

sobes.tech AI

Răspuns de la AI

În limbajul Go, funcția len aplicată unui șir de caractere returnează numărul de octeți din acest șir, nu numărul de caractere (rune). Acest lucru se datorează faptului că șirurile în Go sunt stocate în format UTF-8, unde un caracter poate ocupa mai mulți octeți.

Exemplu:

s := "Привет"
fmt.Println(len(s)) // Va afișa numărul de octeți, de exemplu 12

Dacă doriți să obțineți numărul de caractere (rune), trebuie să convertiți șirul într-un slice de rune:

fmt.Println(len([]rune(s))) // Va afișa numărul de caractere, de exemplu 6