Практика: Основы синтаксиса
Практические задания по основам синтаксиса Go: переменные, типы данных, операторы, указатели.
Онлайн редактор кода для Go
Здесь вы можете попробовать свои силы в программировании на языке Go. Для этого мы предоставляем вам онлайн редактор кода, в котором вы можете написать свой код и запустить его.
❗️ При обновлении страницы код пропадёт, по этому, сохраните свой код куда-нибудь, если он важный.
Задание 1: Переменные и базовые типы
Задание 1: Карточка товара
Создайте программу с информацией о товаре, используя короткое объявление переменных.
💡 Подсказка
Общая стоимость: total := price * float64(count)
Задание 2: Конкатенация строк через strings.Builder
Задание 2: Сообщение о заказе
Соберите строку с данными заказа, используя strings.Builder и преобразование типов.
💡 Подсказка
Используйте strconv.Itoa(id) и strconv.FormatFloat(sum, 'f', 2, 64)
Задание 3: byte и rune — анализ строки
Задание 3: Анализ строки с эмодзи
Исследуйте строку с русским текстом и эмодзи.
Требования:
- Выведите длину в байтах (
len(str)) - Преобразуйте в
[]runeи выведите длину в символах - Выведите последний символ через
[]rune - Выведите первый байт как
byte
💡 Подсказка
runes := []rune(str)
Задание 4: Арифметические операторы и преобразования
Задание 4: Расчёт скидки
Вычислите цену со скидкой.
Требования:
- Преобразуйте
intвfloat64 - Вычислите скидку и итоговую цену
- Преобразуйте итог обратно в
int - Выведите исходную, скидку в рублях, итоговую цену
Задание 5: Указатели — изменение значения
Задание 5: Бонусный счёт
Реализуйте функции для работы с балансом через указатели.
Требования:
- Функция
addBonus(b *int, amount int) - Функция
resetBonus(b *int) - Вывод баланса после каждой операции
Задание 6: Указатели и строки
Задание 6: Изменение строки через указатель
Напишите функцию, которая меняет строку по указателю.
Требования:
- Функция
appendText(s *string, text string)→*s += text - Вывод до и после
Задание 7: Преобразование чисел в строки
Задание 7: Формирование отчёта
Соберите отчёт из чисел через strconv.
Требования:
- Используйте
strconv.Itoaиstrconv.FormatFloat(..., 'f', 2, 64) - Соберите строку через
+илиstrings.Builder
Задание 8: Указатели на float64
Задание 8: Изменение цены через указатель
Реализуйте функцию для изменения цены.
Требования:
- Функция
increasePrice(p *float64, amount float64) - Вывод до и после
Задание 9: Константы и вычисления
Задание 9: Работа с константами
Используйте константы для расчётов.
Требования:
- Объявите константу
TaxRate - Вычислите и выведите цену с НДС:
priceWithTax := price * (1 + TaxRate) - Формат вывода с двумя знаками
Задание 10: Комбинированное — всё вместе
Задание 10: Полный отчёт о товаре
Объедините всё: переменные, строки, преобразования, указатели.
Требования:
- Переменные через
:= - Функция
applyDiscount(price *float64, percent float64)— уменьшает цену на процент - Соберите отчёт через
strings.Builder: название, цена после скидки 10%, общая стоимость - Выведите отчёт
Дополнительные материалы
После выполнения всех 10 заданий:
- Поэкспериментируйте с разными значениями
- Попробуйте разные способы сборки строк
- Добавьте комментарии к коду
- Сравните производительность
+иstrings.Builder
Ошибки компиляции в Go — ваши лучшие учителя. Читайте их внимательно!
Управляющие конструкции (условия, циклы, switch).