Recapitulação - Criando Código Reutilizável
Parte da seção Fundamentos do Journey de GO da Coddy — lição 59 de 109.
Desafio
FácilVocê está construindo uma calculadora de calorias simples para diferentes atividades.
Crie uma função única chamada calculateCalories que calcula quantas calorias são queimadas durante uma atividade.
A função deve:
- Receber um tipo de atividade (string), duração em minutos (int) e nível de intensidade (float64)
- Calcular e retornar as calorias queimadas com base no tipo de atividade, duração e intensidade
Use estas taxas de calorias por minuto em intensidade normal (1.0):
- Running: 10 calorias por minuto
- Swimming: 8 calorias por minuto
- Cycling: 7 calorias por minuto
- Qualquer outra atividade: 5 calorias por minuto
As calorias finais devem ser calculadas como: calorias base × duração × intensidade
Experimente você mesmo
package main
import "fmt"
// calculateCalories determina quantas calorias são queimadas durante uma atividade
// Parâmetros:
// - activity: o tipo de exercício ("running", "swimming", "cycling", ou qualquer outra atividade)
// - duration: quanto tempo a atividade foi realizada (em minutos)
// - intensity: um multiplicador representando o quão intenso foi o treino (1.0 é o normal)
// Retorna:
// - o total de calorias queimadas
func calculateCalories(activity string, duration int, intensity float64) float64 {
// TODO: Implemente esta função para calcular as calorias queimadas com base em:
// 1. Determine a taxa básica de calorias por minuto com base no tipo de atividade:
// - "running" queima 10 calorias por minuto na intensidade 1.0
// - "swimming" queima 8 calorias por minuto na intensidade 1.0
// - "cycling" queima 7 calorias por minuto na intensidade 1.0
// - Qualquer outra atividade queima 5 calorias por minuto na intensidade 1.0
// 2. Calcule o total de calorias como: calorias base × duration × intensity
// 3. Retorne as calorias calculadas
return 0 // Substitua pela sua implementação
}
func main() {
// Teste a função com diferentes atividades
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 as lições de Fundamentos
4Operadores de Comparação e Lógicos
Operadores de Comparação - Parte 1Operadores de Comparação - Parte 2Operador Lógico ANDOperador Lógico OROperador Lógico NOTFundamentos de Precedência de OperadoresRecapitulação - Fazendo Comparações7Fluxo de Controle: Loops
O Loop `for` ExplicadoLoop For - BásicoLoop For - Apenas CondiçãoA Palavra-chave `break`A Palavra-chave `continue`Loops AninhadosRecapitulação - Repetindo Ações2Variáveis e Tipos de Dados Básicos
O que é uma variávelInferência de Tipo com `:=`Inteiros (int)Números de Ponto FlutuanteBooleanosStringsValores ZeroConstantesConvenções de NomenclaturaRecapitulação - Variáveis e Tipos5Entrada/Saída Básica
Saída FormatadaVerbos de FormataçãoImprimindo TiposObtendo Entrada Básica do UsuárioRecapitulação - Entrada e Saída8Funções
Entendendo FunçõesDeclarando uma FunçãoChamando FunçõesParâmetros de FunçãoRetornando um Único ValorRetornando Múltiplos ValoresValores de Retorno NomeadosFundamentos de Escopo de FunçãoRecapitulação - Criando Código Reutilizável3Operadores Básicos
Operadores AritméticosOperador de DivisãoO Operador MóduloOperador de AtribuiçãoOperadores de Atribuição CompostaIncremento e DecrementoRecapitulação - Cálculos6Fluxo de Controle: Condicionais
A Instrução `if`A Palavra-chave `else`A Palavra-chave `else if`Sombreamento de Variáveis no `if`Inicializando VariáveisA Instrução `switch`Switch com ExpressõesSwitch sem ExpressãoA Palavra-chave `fallthrough`Recapitulação - Tomando Decisões