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

Функция utf8.DecodeLastRune

Функция utf8.DecodeLastRune декодирует последний рунический символ из переданной строки и возвращает его значение rune и количество байтов, которые занимает этот символ в UTF-8 кодировке. Если строка пустая или содержит некорректные байты в конце, функция возвращает значение utf8.RuneError и размер в 1 байт. Функция принимает один параметр - строку для анализа.

Синтаксис

runeValue, size := utf8.DecodeLastRune(str)

Пример

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

package main import ( "fmt" "unicode/utf8" ) func main() { str := "abcde" runeValue, size := utf8.DecodeLastRune(str) fmt.Printf("Rune: %c, Size: %d bytes\n", runeValue, size) }

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

"Rune: e, Size: 1 bytes"

Пример

Давайте декодируем последний рунический символ из строки с кириллическими символами:

package main import ( "fmt" "unicode/utf8" ) func main() { str := "Привет" runeValue, size := utf8.DecodeLastRune(str) fmt.Printf("Rune: %c, Size: %d bytes\n", runeValue, size) }

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

"Rune: т, Size: 2 bytes"

Пример

Рассмотрим случай с пустой строкой:

package main import ( "fmt" "unicode/utf8" ) func main() { str := "" runeValue, size := utf8.DecodeLastRune(str) fmt.Printf("Rune: %d, Size: %d bytes\n", runeValue, size) }

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

"Rune: 65533, Size: 1 bytes"

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

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