Сдам Сам

ПОЛЕЗНОЕ


КАТЕГОРИИ







fmt.Println(strconv.Itoa(i))





Fmt.Println(strconv.FormatInt(int64(i), 10))

Fmt.Println(strconv.FormatInt(int64(i), 2))

Fmt.Println(strconv.FormatInt(int64(i), 16))

Результат работы приложения представлен на рисунке 3.7.

Рисунок 3.7 - Результат работы приложения

Функция strconv.Itoa() («Integer to ASCII» – «целое в ASCII») возвращает строковое представление аргумента типа int в системе счисления по основанию 10. Функция strconv.FormatInt() возвращает строковое представление аргумента типа int64 в системе счисления с указанным основанием (которое обязательно должно быть указано и находиться в диапазоне от 2 до 36 включительно).

Пакет utf8

Пакет unicode/utf8 содержит несколько функций для выполнения операций со строками и срезами типа []bytes, хранящими байты в кодировке UTF-8, многие из которых показаны в табл. 3.5. Пакет импортируется под именем "unicode/utf8". Переменная b – это срез типа []byte, s – строка типа string, и c – кодовый пункт Юникода типа rune.

Таблица 3.5 - Функции из пакета utf8

Функция Описание/результат
utf8.DecodeLastRune(b) Последний символ (значение типа rune) в b и количество байт, занимаемое им, или U+FFFD (символ замены «?»), и 0 – если b не заканчивается допустимым значением типа rune
utf8.DecodeLastRuneInString(s) То же, что и функция utf8.DecodeLastRune(), только принимает строку, а не срез
utf8.DecodeRune(b) Первый символ (значение типа rune) в b и количество байт, занимаемое им, или U+FFFD (символ замены «?»), и 0 – если b не начинается допустимым значением типа rune
utf8.DecodeRuneInString(s) То же, что и функция utf8.DecodeRune(), только принимает строку, а не срез
utf8.EncodeRune(b,c) Записывает c в b в виде последовательности байт в кодировке UTF-8 и возвращает число записанных байтов (в срезе b должно быть достаточно свободного места)
utf8.FullRune(b) true, если b начинается с допустимого значения типа rune в кодировке UTF-8
utf8.FullRuneInString(s) true, если s начинается с допустимого значения типа rune в кодировке UTF-8
utf8.RuneCount(b) То же, что и функция utf8.RuneCountInString(), но работает со значением типа []byte
utf8.RuneCountInString(s) Количество символов типа rune в строке s; это число может быть меньше, чем len(s), если строка s содержит не ASCII-символы
utf8.RuneLen(c) Число байтов, необходимых для кодирования символа c
utf8.RuneStart(x) true, если байт x может быть первым байтом символа
utf8.Valid(b) true, если байты в b представляют допустимые символы в кодировке UTF-8
utf8.ValidString(s) true, если байты в s представляют допустимые символы в кодировке UTF-8

Пакет unicode

Пакет unicode содержит функции для получения кодовых пунктов Юникода и определения соответствия их некоторым критериям, например чтобы проверить, является символ цифрой или буквой нижнего регистра. В табл. 3.6 перечислены наиболее часто используемые функции. В дополнение к этим функциям в пакете также имеются такие функции, как unicode.ToLower() и unicode.IsUpper(), универсальная функция unicode.Is(), с помощью которой можно проверить принадлежность символа к той или иной категории Юникода. Переменная с – это символ типа rune и представляет кодовый пункт Юникода.

Таблица 3.6 - Функции из пакета unicode

Функция Описание/результат
unicode.Is(table,c) true, если символ с присутствует в таблице table
unicode.IsControl(c) true, если символ с является управляющим символом
unicode.IsDigit(c) true, если символ с является десятичной цифрой
unicode.IsGraphic(c) true, если символ с является «графическим» символом, таким как буква, число, знак пунктуации, символ или пробел
unicode.IsLetter(c) true, если символ с является буквой
unicode.IsLower(c) true, если символ с является буквой нижнего регистра
unicode.IsMark(c) true, если символ с является символом маркера
unicode.IsOneOf(tables, c) true, если символ с присутствует в одной из таблиц tables
unicode.IsPrint(c) true, если символ с является печатаемым символом
unicode.IsPunct(c) true, если символ с является знаком пунктуации
unicode.IsSpace(c) true, если символ с является пробельным символом
unicode.IsSymbol(c) true, если символ с является символическим знаком
unicode.IsTitle(c) true, если символ с является заглавной буквой
unicode.IsUpper(c) true, если символ с является буквой верхнего регистра
unicode.SimpleFold(c) Копия символа c в противоположном регистре
unicode.To(case, c) Версия символа c в регистре case, где case может иметь значение unicode.LowerCase, unicode.TitleCase или unicode.UpperCase
unicode.ToLower(c) Версия символа c в нижнем регистре
unicode.ToTitle(c) Версия символа c в заглавном регистре
unicode.ToUpper(c) Версия символа c в верхнем регистре

 

fmt.Println(IsHexDigit(‘8’), IsHexDigit(‘x’), IsHexDigit(‘X’), IsHexDigit(‘b’), IsHexDigit(‘B’))

true·false·false·true·true

В пакете unicode имеется функция unicode.IsDigit(), проверяющая, является ли символ десятичной цифрой, но в пакете нет аналогичной функции для проверки шестнадцатеричных цифр, поэтому здесь используется пользовательская функция IsHexDigit().

func IsHexDigit(char rune) bool {

return unicode.Is(unicode.ASCII_Hex_Digit, char)

}

В этой короткой функции для проверки, является ли указанный символ шестнадцатеричной цифрой, используется универсальная функция unicode.Is() в комбинации с диапазоном unicode.ASCII_Hex_Digit. Так же просто можно создать аналогичные функции для проверки других характеристик символов Юникода.







ЧТО ТАКОЕ УВЕРЕННОЕ ПОВЕДЕНИЕ В МЕЖЛИЧНОСТНЫХ ОТНОШЕНИЯХ? Исторически существует три основных модели различий, существующих между...

ЧТО И КАК ПИСАЛИ О МОДЕ В ЖУРНАЛАХ НАЧАЛА XX ВЕКА Первый номер журнала «Аполлон» за 1909 г. начинался, по сути, с программного заявления редакции журнала...

Система охраняемых территорий в США Изучение особо охраняемых природных территорий(ООПТ) США представляет особый интерес по многим причинам...

Что вызывает тренды на фондовых и товарных рынках Объяснение теории грузового поезда Первые 17 лет моих рыночных исследований сводились к попыткам вычис­лить, когда этот...





Не нашли то, что искали? Воспользуйтесь поиском гугл на сайте:


©2015- 2024 zdamsam.ru Размещенные материалы защищены законодательством РФ.