Условия обработки персональных данных

Сайт использует технические и персональные данные пользователей для получения маркетинговой и статистической информации. Условия обработки персональных данных посетителей можно ознакомиться по ссылке.

В случае Вашего не согласия с этими условиями - просим Вас покинуть данный сайт. Если Вы продолжаете находиться и использовать сайт - Вы автоматически выражаете свое согласие с условиями обработки персональных данных пользователей сайта

X

rune в голанг

В Go (или «Golang») тип данных rune представляет собой кодовую точку Unicode. Под капотом rune является псевдонимом для int32, так что каждый rune фактически является числом, представляющим соответствующий символ Unicode.

Функция getNumberByRune принимает символ Unicode (руну) в качестве входного параметра и преобразует его в целое число. В данной строке:

return int(digit — ‘0’)

происходит следующее:

1. digit — это руна, которая представляет собой символ-цифру (например, ‘0’, ‘1’, ‘2’ и т.д.).
2. '0' — это руна, представляющая символ ‘0’, который в Unicode имеет кодовую точку U+0030 (или 48 в десятичной системе).
3. Когда мы вычитаем '0' (код 48) из digit, мы фактически вычитаем числовое значение кодовой точки символа ‘0’ из числового значения кодовой точки символа, представленного digit.
4. Так как в Unicode цифры от 0 до 9 идут подряд, вычитание значения ‘0’ из значения другой цифры даст нам их порядковый номер — то есть, если digit — это руна ‘0’, результат будет 0; если digit — это руна ‘1’, результат будет 1, и так далее до ‘9’, который даст результат 9.

Таким образом, этот код корректно преобразует символ-цифру, представленный руной, в соответствующее ему целое число. Приведение к типу int в int(digit - '0') обеспечивает, что результат будет представлен типом int, который является наиболее распространенным целочисленным типом в Go и обычно используется для целых чисел, если не требуется специфический размер или знаковый диапазон.

Комментирование закрыто