Sobes.tech
Junior — Middle

Jaką wartość zwraca funkcja len po zastosowaniu do typu danych tekstowych?

sobes.tech AI

Odpowiedź od AI

W języku Go funkcja len, stosowana do łańcucha znaków, zwraca liczbę bajtów w tym łańcuchu, a nie liczbę znaków (rune). Wynika to z faktu, że łańcuchy w Go są przechowywane w formacie UTF-8, gdzie jeden znak może zajmować kilka bajtów.

Przykład:

s := "Привет"
fmt.Println(len(s)) // Wyświetli liczbę bajtów, np. 12

Aby uzyskać liczbę znaków (rune), należy przekonwertować łańcuch na tablicę rune:

fmt.Println(len([]rune(s))) // Wyświetli liczbę znaków, np. 6