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