Resumen: Creando código reutilizable
Parte de la sección Fundamentos del Journey de GO de Coddy — lección 59 de 109.
Desafío
FácilEstás construyendo una calculadora de calorías sencilla para diferentes actividades.
Crea una función única llamada calculateCalories que calcule cuántas calorías se queman durante una actividad.
La función debe:
- Recibir un tipo de actividad (string), la duración en minutos (int) y el nivel de intensidad (float64)
- Calcular y devolver las calorías quemadas basándose en el tipo de actividad, la duración y la intensidad
Usa estas tasas de calorías por minuto a una intensidad normal (1.0):
- Running: 10 calorías por minuto
- Swimming: 8 calorías por minuto
- Cycling: 7 calorías por minuto
- Cualquier otra actividad: 5 calorías por minuto
Las calorías finales deben calcularse como: calorías base × duración × intensidad
Pruébalo tú mismo
package main
import "fmt"
// calculateCalories determina cuántas calorías se queman durante una actividad
// Parámetros:
// - activity: el tipo de ejercicio ("running", "swimming", "cycling", o cualquier otra actividad)
// - duration: cuánto tiempo se realizó la actividad (en minutos)
// - intensity: un multiplicador que representa qué tan intenso fue el entrenamiento (1.0 es normal)
// Retorna:
// - el total de calorías quemadas
func calculateCalories(activity string, duration int, intensity float64) float64 {
// TODO: Implementar esta función para calcular las calorías quemadas basándose en:
// 1. Determinar la tasa base de calorías por minuto según el tipo de actividad:
// - "running" quema 10 calorías por minuto con una intensidad de 1.0
// - "swimming" quema 8 calorías por minuto con una intensidad de 1.0
// - "cycling" quema 7 calorías por minuto con una intensidad de 1.0
// - Cualquier otra actividad quema 5 calorías por minuto con una intensidad de 1.0
// 2. Calcular las calorías totales como: calorías base × duration × intensity
// 3. Retornar las calorías calculadas
return 0 // Reemplazar con tu implementación
}
func main() {
// Probar la función con diferentes actividades
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))
}
Todas las lecciones de Fundamentos
4Operadores de comparación y lógicos
Operadores de comparación - Parte 1Operadores de comparación - Parte 2Operador lógico ANDOperador lógico OROperador lógico NOTConceptos básicos de precedencia de operadoresResumen: Realizar comparaciones7Flujo de control: Bucles
Explicación del bucle `for`Bucle `for` - BásicoBucle `for` - Solo condiciónLa palabra clave `break`La palabra clave `continue`Bucles anidadosResumen - Repetición de acciones2Variables y tipos de datos básicos
¿Qué es una variable?Inferencia de tipos con `:=`Enteros (int)Números de punto flotanteBooleanosStringsValores ceroConstantesConvenciones de nomenclaturaResumen - Variables y tipos5Entrada y salida básica
Salida con formatoVerbos de formatoImpresión de tiposObtener entrada básica del usuarioResumen: Entrada y salida8Funciones
Comprendiendo las funcionesDeclaración de una funciónLlamada a funcionesParámetros de funciónRetorno de un solo valorRetorno de múltiples valoresValores de retorno con nombreConceptos básicos del alcance de las funcionesResumen: Creando código reutilizable3Operadores básicos
Operadores aritméticosOperador de divisiónEl operador móduloOperador de asignaciónOperadores de asignación compuestaIncremento y decrementoResumen - Cálculos6Flujo de control: Condicionales
La sentencia `if`La palabra clave `else`La palabra clave `else if`Sombreado de variables en `if`Inicialización de variablesLa sentencia `switch``switch` con expresiones`switch` sin expresiónLa palabra clave `fallthrough`Resumen: Toma de decisiones