Ôn tập: Tạo code có thể tái sử dụng
Thuộc phần Kiến thức nền tảng trong hành trình GO của Coddy. Bài học 59 trên 109.
Thử thách
DễBạn đang xây dựng một máy tính calo đơn giản cho các hoạt động khác nhau.
Tạo một hàm duy nhất có tên là calculateCalories để tính số calo đốt cháy trong một hoạt động.
Hàm này cần:
- Nhận loại hoạt động (chuỗi), thời lượng tính bằng phút (int) và mức độ cường độ (float64)
- Tính và trả về số calo đã đốt cháy dựa trên loại hoạt động, thời lượng và cường độ
Sử dụng mức calo mỗi phút sau đây ở cường độ bình thường (1.0):
- Chạy bộ: 10 calo mỗi phút
- Bơi lội: 8 calo mỗi phút
- Đạp xe: 7 calo mỗi phút
- Các hoạt động khác: 5 calo mỗi phút
Tính tổng số calo như sau: calo cơ bản × thời lượng × cường độ
Tự làm thử
package main
import "fmt"
// calculateCalories xác định lượng calo tiêu hao khi thực hiện một hoạt động
// Tham số (parameter):
// - activity: loại hình tập luyện ("running", "swimming", "cycling" hoặc hoạt động khác)
// - duration: thời gian thực hiện hoạt động (tính bằng phút)
// - intensity: hệ số biểu thị cường độ tập luyện (1.0 là mức bình thường)
// Trả về:
// - tổng lượng calo tiêu hao
func calculateCalories(activity string, duration int, intensity float64) float64 {
// TODO: Triển khai hàm (function) này để tính lượng calo tiêu hao dựa trên:
// 1. Xác định lượng calo tiêu hao cơ bản mỗi phút theo loại hoạt động:
// - "running" tiêu hao 10 calo mỗi phút ở cường độ 1.0
// - "swimming" tiêu hao 8 calo mỗi phút ở cường độ 1.0
// - "cycling" tiêu hao 7 calo mỗi phút ở cường độ 1.0
// Các hoạt động khác tiêu hao 5 calo mỗi phút ở cường độ 1.0
// 2. Tính tổng lượng calo: lượng calo cơ bản × thời lượng × cường độ
// 3. Trả về lượng calo đã tính
return 0 // Thay bằng phần code bạn tự viết
}
func main() {
// Kiểm tra hàm (function) với các hoạt động khác nhau
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))
}
Tất cả bài học trong Kiến thức nền tảng
4Toán tử so sánh và logic
Toán tử so sánh, phần 1Toán tử so sánh, phần 2Toán tử AND logicToán tử OR logicToán tử NOT logicCơ bản về thứ tự ưu tiên của toán tửÔn tập: thực hiện phép so sánh7Luồng điều khiển: vòng lặp
Giải thích vòng lặp `for`Vòng lặp `for` cơ bảnVòng lặp `for` chỉ có điều kiệnTừ khóa `break`Từ khóa `continue`Vòng lặp lồng nhauÔn tập: lặp lại hành động2Biến và các kiểu dữ liệu cơ bản
Biến là gìSuy luận kiểu với `:=`Số nguyên (int)Số dấu phẩy độngGiá trị BooleanChuỗiGiá trị 0Hằng sốQuy ước đặt tênÔn tập: biến và kiểu dữ liệu5Đầu vào/đầu ra cơ bản
Đầu ra có định dạngĐộng từ định dạngIn các kiểu dữ liệuNhận đầu vào cơ bản từ người dùngÔn tập: đầu vào và đầu ra8Hàm
Tìm hiểu về hàmKhai báo hàmGọi hàmTham số của hàmTrả về một giá trịTrả về nhiều giá trịGiá trị trả về có tênNhững điều cơ bản về phạm vi của hàmÔn tập: Tạo code có thể tái sử dụng3Toán tử cơ bản
Toán tử số họcToán tử chiaToán tử moduloToán tử gánToán tử gán kết hợpTăng và giảmÔn tập: Tính toán6Luồng điều khiển: câu lệnh điều kiện
Câu lệnh `if`Từ khóa `else`Từ khóa `else if`Biến bị che khuất trong `if`Khởi tạo biếnCâu lệnh `switch``switch` có biểu thức`switch` không có biểu thứcTừ khóa `fallthrough`Ôn tập: đưa ra quyết địnhTự luyện tập: Trình biên dịch Go online