РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
207 of 1593 menu

Функция utf8.DecodeRuneInString

Функция utf8.DecodeRuneInString декодирует первый рун в строке UTF-8 и возвращает сам рун и количество байт, которые он занимает. В первый параметр функция принимает строку для декодирования. Если строка пустая или содержит некорректную UTF-8 последовательность, функция возвращает utf8.RuneError и размер 1 (для некорректных последовательностей) или 0 (для пустой строки).

Синтаксис

r, size := utf8.DecodeRuneInString(str)

Пример

Давайте декодируем первый рун в строке "abcde":

package main import ( "fmt" "unicode/utf8" ) func main() { str := "abcde" r, size := utf8.DecodeRuneInString(str) fmt.Printf("Рун: %c, Размер: %d\n", r, size) }

Результат выполнения кода:

"Рун: a, Размер: 1"

Пример

Давайте декодируем первый рун в строке с кириллическими символами "абвгд":

package main import ( "fmt" "unicode/utf8" ) func main() { str := "абвгд" r, size := utf8.DecodeRuneInString(str) fmt.Printf("Рун: %c, Размер: %d\n", r, size) }

Результат выполнения кода:

"Рун: а, Размер: 2"

Пример

Давайте проверим, как функция обрабатывает пустую строку:

package main import ( "fmt" "unicode/utf8" ) func main() { str := "" r, size := utf8.DecodeRuneInString(str) fmt.Printf("Рун: %d, Размер: %d\n", r, size) }

Результат выполнения кода:

"Рун: 65533, Размер: 0"

Смотрите также

  • функцию utf8.DecodeRune,
    которая декодирует первый рун из слайса байт
  • функцию utf8.DecodeLastRuneInString,
    которая декодирует последний рун в строке
  • функцию utf8.RuneCountInString,
    которая возвращает количество рун в строке
  • функцию utf8.ValidString,
    которая проверяет, является ли строка корректной UTF-8
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить