Menu
CoddyTech

回顾:创建可复用代码

本课属于 Coddy GO 学习旅程的“基础知识”单元。第 59 课,共 109 课。

challenge icon

挑战

简单

你正在为不同的活动制作一个简单的卡路里计算器。

创建一个单独的函数,名为 calculateCalories,用于计算活动消耗了多少卡路里。

这个函数应该:

  1. 接收活动类型(字符串)、时长(分钟,int)和强度等级(float64)
  2. 根据活动类型、时长和强度计算并返回消耗的卡路里

在正常强度(1.0)下,每分钟消耗的卡路里如下:

  • 跑步:每分钟 10 卡路里
  • 游泳:每分钟 8 卡路里
  • 骑行:每分钟 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" 在强度为 1.0 时,每分钟消耗 10 卡路里
    //    - "swimming" 在强度为 1.0 时,每分钟消耗 8 卡路里
    //    - "cycling" 在强度为 1.0 时,每分钟消耗 7 卡路里
    //    - 其他任何活动在强度为 1.0 时,每分钟消耗 5 卡路里
    // 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))
}

基础知识中的所有课

自己练习: Go 在线编译器