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