В Golang строки по умолчанию представлены в UTF-8, что позволяет без проблем работать с символами из различных алфавитов, включая иероглифы и кириллицу. Для чтения таких строк достаточно использовать стандартные функции и пакеты.
Чтение из файла:
golang
Чтение из стандартного ввода:
golang
Итерирование по символам (рунам):
golang
Основные моменты:
range обрабатывает каждую руну (Unicode кодовую точку), а не каждый байт.Дополнительно:
Если исходные данные не в UTF-8, может потребоваться преобразование кодировки с использованием пакетов из стандартной библиотеки или сторонних библиотек, например golang.org/x/text/encoding.