Преобразование в []rune
Преобразование строки в срез рун []rune позволяет работать с Unicode-символами как с отдельными элементами. В первый параметр мы передаем строку для преобразования, результатом является срез рун, где каждый элемент представляет собой Unicode-кодовую точку символа. Это преобразование особенно полезно при работе с многоязычными текстами.
Синтаксис
[]rune(str)
Пример
Давайте преобразуем строку в срез рун и выведем каждый символ по отдельности:
package main
import "fmt"
func main() {
str := "abcde"
runes := []rune(str)
for i, r := range runes {
fmt.Printf("Index: %d, Rune: %c\n", i, r)
}
}
Результат выполнения кода:
"Index: 0, Rune: a"
"Index: 1, Rune: b"
"Index: 2, Rune: c"
"Index: 3, Rune: d"
"Index: 4, Rune: e"
Пример
Давайте преобразуем строку с Unicode-символами в срез рун и проверим количество символов:
package main
import "fmt"
func main() {
str := "Привет123"
runes := []rune(str)
fmt.Printf("String length: %d\n", len(str))
fmt.Printf("Rune length: %d\n", len(runes))
}
Результат выполнения кода:
"String length: 12"
"Rune length: 8"
Пример
Давайте преобразуем срез рун обратно в строку:
package main
import "fmt"
func main() {
runes := []rune{'h', 'e', 'l', 'l', 'o'}
str := string(runes)
fmt.Println(str)
}
Результат выполнения кода:
"hello"
Смотрите также
-
преобразование в строку
to-string,
которое преобразует различные типы данных в строку -
преобразование в срез байт
to-byte-slice,
которое преобразует строку в срез байт -
преобразование в руну
to-rune,
которое преобразует числовое значение в руну -
работа со строками и рунами
string-runes,
которая рассматривает особенности работы строк и рун в Go