Итоги — создание переиспользуемого кода
Часть раздела Основы путешествия по GO на Coddy — урок 59 из 109.
Задание
ЛегкоВы создаете простой калькулятор калорий для различных видов деятельности.
Создайте одну функцию с именем calculateCalories, которая рассчитывает количество калорий, сожженных во время занятия.
Функция должна:
- Принимать тип активности (string), продолжительность в минутах (int) и уровень интенсивности (float64)
- Рассчитывать и возвращать количество сожженных калорий на основе типа активности, продолжительности и интенсивности
Используйте следующие нормы калорий в минуту при нормальной интенсивности (1.0):
- Running: 10 калорий в минуту
- Swimming: 8 калорий в минуту
- Cycling: 7 калорий в минуту
- Любая другая активность: 5 калорий в минуту
Итоговое количество калорий должно рассчитываться как: базовые калории × продолжительность × интенсивность
Попробуйте сами
package main
import "fmt"
// calculateCalories определяет, сколько калорий сжигается во время активности
// Параметры:
// - activity: тип упражнения ("running", "swimming", "cycling" или любая другая активность)
// - duration: как долго выполнялась активность (в минутах)
// - intensity: множитель, представляющий интенсивность тренировки (1.0 — обычная)
// Возвращает:
// - общее количество сожженных калорий
func calculateCalories(activity string, duration int, intensity float64) float64 {
// TODO: Реализуйте эту функцию для расчета сожженных калорий на основе:
// 1. Определите базовую норму калорий в минуту в зависимости от типа активности:
// - "running" сжигает 10 калорий в минуту при интенсивности 1.0
// - "swimming" сжигает 8 калорий в минуту при интенсивности 1.0
// - "cycling" сжигает 7 калорий в минуту при интенсивности 1.0
// - Любая другая активность сжигает 5 калорий в минуту при интенсивности 1.0
// 2. Рассчитайте общее количество калорий как: базовые калории × duration × intensity
// 3. Верните рассчитанные калории
return 0 // Замените вашей реализацией
}
func main() {
// Протестируйте функцию с различными активностями
fmt.Println("Running for 30 minutes at intensity 1.2:", calculateCalories("running", 30, 1.2))
fmt.Println("Swimming for 45 minutes at intensity 1.0:", calculateCalories("swimming", 45, 1.0))
fmt.Println("Cycling for 60 minutes at intensity 1.5:", calculateCalories("cycling", 60, 1.5))
fmt.Println("Yoga for 60 minutes at intensity 0.8:", calculateCalories("yoga", 60, 0.8))
}
Все уроки раздела Основы
4Операторы сравнения и логические операторы
Операторы сравнения — Часть 1Операторы сравнения — Часть 2Логический оператор ANDЛогический оператор ORЛогический оператор NOTОсновы приоритета операторовИтоги: выполнение сравнений7Управляющие конструкции: Циклы
Что такое цикл `for`Цикл `for` — основыЦикл `for` — только условиеКлючевое слово `break`Ключевое слово `continue`Вложенные циклыИтоги — повторение действий2Переменные и базовые типы данных
Что такое переменнаяВывод типов с помощью `:=`Целые числа (int)Числа с плавающей точкойЛогический тип (Booleans)СтрокиНулевые значения (Zero Values)КонстантыПравила именованияИтоги: переменные и типы5Основы ввода-вывода
Форматированный выводСпецификаторы форматаВывод типовБазовый ввод данных пользователемИтоги: ввод и вывод8Функции
Понимание функцийОбъявление функцииВызов функцийПараметры функцииВозврат одного значенияВозврат нескольких значенийИменованные возвращаемые значенияОсновы области видимости функцийИтоги — создание переиспользуемого кода3Базовые операторы
Арифметические операторыОператор деленияОператор остатка от деленияОператор присваиванияКомбинированные операторы присваиванияИнкремент и декрементПовторение — Вычисления6Управление потоком: Условные конструкции
Оператор `if`Ключевое слово `else`Ключевое слово `else if`Затенение переменных в `if`Инициализация переменныхОператор `switch`Switch с выражениямиSwitch без выраженийКлючевое слово `fallthrough`Итоги — Принятие решений