Выражения и константы
Практическое освоение арифметических операций, форматирования вывода и работы с константами в Go.
Что изучим
- Арифметические операции и особенности типизации
- Операторы инкремента/декремента и их отличия от других языков
- Побитовые операции для работы с двоичным представлением
- Пакет fmt и форматированный вывод
- Продвинутое форматирование чисел и таблиц
- Константы, iota и битовые флаги
Основные концепции
Целочисленное деление: когда оба операнда целые, результат всегда целое число без дробной части. Для вещественного результата нужно явное приведение хотя бы одного операнда к float64.
Строгая типизация: нельзя смешивать типы без явного приведения — даже int32 и int64 несовместимы напрямую. Это предотвращает ошибки и делает код предсказуемым.
Инкремент только постфиксный: в Go разрешён только x++, но не ++x. Это statement, а не expression — нельзя использовать в выражениях вроде y := x++.
Пакет fmt: основной инструмент форматированного вывода. Универсальный спецификатор %v работает с любым типом, %.2f контролирует точность float, %03d дополняет нули слева.
Константы — не переменные: они встраиваются в код при компиляции, не занимают память в runtime и работают быстрее. Нетипизированные константы гибко адаптируются к контексту использования.
iota — генератор последовательностей: начинается с 0, увеличивается на 1 для каждой строки. Сбрасывается в каждом новом блоке const. Мощный инструмент для перечислений, битовых флагов и размеров файлов.