Длина в символах в Go
Число символов в строке считают отдельно от числа
байт. Команда len отвечает только за
байты. Чтобы узнать, сколько символов видно
на экране, используют функцию из пакета
unicode/utf8.
Подключим пакет и сравним длину английского
и русского слова. На экране будет 5,
затем 3 и 6:
package main
import (
"fmt"
"unicode/utf8"
)
func main() {
latin := "hello"
cyr := "мир"
fmt.Println(utf8.RuneCountInString(latin))
fmt.Println(utf8.RuneCountInString(cyr))
fmt.Println(len(cyr))
}
Дана строка:
word := "go"
Выведите число символов в word.
Дана строка:
text := "мир"
Выведите число символов и число байт двумя командами.
Дана строка:
text := "мир"
Скажите, чем число байт отличается от числа символов.