Junior — Middle
Каква информация връща функцията len при обработка на низ?
sobes.tech AI
Отговор от AI
В езика Go, функцията len, при прилагане към низ, връща броя на байтовете в този низ, а не броя на символите (runes).
Това се дължи на факта, че низовете в Go се съхраняват във формат UTF-8, където един символ може да заема от 1 до 4 байта. Затова len връща дължината в байтове.
Пример:
package main
import (
"fmt"
)
func main() {
s := "Привет" // руската дума
fmt.Println(len(s)) // Ще покаже броя на байтовете, например 12
}
Ако искате да получите броя на символите (runes), трябва да преобразувате низът в срез от руни:
runes := []rune(s)
fmt.Println(len(runes)) // Ще покаже броя на символите, например 6
Следователно, len за низ е дължината в байтове, а не в символи.