Ответ
В Go строка — это последовательность байт. Для работы с Unicode символами (рунами) используйте преобразование в []rune. Каждая руна представляет Unicode код-пойнт.
s := "Привет, мир!"
runes := []rune(s) // Преобразование строки в срез рун
fmt.Println(runes) // Выведет Unicode коды символов
Нюансы:
-
Индексация рун отличается от индексации байт (например,
s[0]вернет первый байт, а не символ). -
Для итерации по рунам можно использовать
range:for i, r := range s { fmt.Printf("%d: %cn", i, r) } -
Обратное преобразование:
string(runes).