Ôn tập: tham số của hàm
Thuộc phần Kiến thức cơ bản trong hành trình Dart của Coddy. Bài học 76 trên 94.
Thử thách
DễTạo một hàm (function) TravelPlanner giúp người dùng lên kế hoạch cho chuyến đi. Hàm này cần:
- Nhận tham số có tên
destination(String) bắt buộc - Nhận tham số có tên
durationInDays(int) bắt buộc - Nhận tham số có tên
budgetkhông bắt buộc, với giá trị mặc định là 1000 - Nhận tham số có tên
travelerskhông bắt buộc, với giá trị mặc định là 1 - Nhận tham số có tên
includeInsurancekhông bắt buộc, với giá trị mặc định là false
Hàm cần trả về một chuỗi đã định dạng có thông tin chi tiết về chuyến đi theo đúng định dạng sau:
Trip to [destination] planned:
- Duration: [durationInDays] days
- Travelers: [travelers]
- Budget per person: $[calculated budget]
- Insurance: [Yes/No]
Ngân sách được tính bằng cách lấy tổng ngân sách chia cho số người đi, rồi làm tròn đến số nguyên gần nhất.
Tự làm thử
// Hoàn thiện hàm (function) TravelPlanner bên dưới
String TravelPlanner({
// TODO: Thêm các tham số (parameter) có tên bắt buộc destination và durationInDays
// TODO: Thêm tham số có tên tùy chọn budget với giá trị mặc định 1000
// TODO: Thêm tham số có tên tùy chọn travelers với giá trị mặc định 1
// TODO: Thêm tham số có tên tùy chọn includeInsurance với giá trị mặc định false
}) {
// TODO: Tính ngân sách mỗi người bằng cách chia budget cho travelers
// Gợi ý: Dùng .round() để lấy số nguyên
// TODO: Trả về thông tin chuyến đi đã định dạng bằng chuỗi nhiều dòng
// Gợi ý: Dùng dấu nháy ba ''' hoặc """ cho chuỗi nhiều dòng
// Đầu ra cần có:
// - Điểm đến
// - Thời gian tính theo ngày
// - Số người đi
// - Ngân sách mỗi người (có ký hiệu $)
// - Bảo hiểm (Có/Không)
}
void main() {
// Kiểm thử chỉ với các tham số (parameter) bắt buộc
print(TravelPlanner(destination: 'Paris', durationInDays: 7));
// Kiểm thử với tất cả các tham số
print(TravelPlanner(
destination: 'Tokyo',
durationInDays: 10,
budget: 5000,
travelers: 3,
includeInsurance: true,
));
}Tất cả bài học trong Kiến thức cơ bản
4Các toán tử phần 2
Toán tử so sánhPhép AND logicPhép OR logicPhép NOT logicToán tử kiểm tra kiểuÔn tập: So sánh10Bộ sưu tập: kiến thức cơ bản về ánh xạ
Ánh xạ là gì?Tạo ánh xạTruy cập giá trị bằng khóaCặp khóa và giá trịLấy kích thước ánh xạLấy các khóaLấy các giá trịKiểm tra khóa có tồn tại không13An toàn với giá trị null chuyên sâu
Tìm hiểu giá trị nullKiểu dữ liệu nullableKiểu dữ liệu non-nullableToán tử khẳng định non-nullKhởi tạo muộnÔn tập: xử lý null an toàn16Thử thách về kiến thức cơ bản
Thử thách: Danh sách phép tínhThử thách: Tính tổng các sốThử thách: Tìm tích2Biến và kiểu dữ liệu cơ bản
Biến là gì?ChuỗiSố nguyên (int)Số thực (double)Giá trị logic (bool)Suy luận kiểu dữ liệu với 'var'Biến finalBiến hằng sốQuy tắc đặt tênAn toàn với null cơ bảnÔn tập: khai báo biến8Luồng điều khiển: vòng lặp
Vòng lặp forVòng lặp whileVòng lặp do-whileDùng break trong vòng lặpDùng continue trong vòng lặpÔn tập: lặp lại code11Hàm cơ bản
Hàm là gì?Định nghĩa hàm cơ bảnGọi hàmHàm có tham sốHàm trả về giá trịTừ khóa 'void'Cú pháp mũi tênÔn tập: hàm đơn giản14Chuyển đổi kiểu dữ liệu
Chuyển chuỗi thành số nguyênChuyển chuỗi thành số thựcChuyển số thành chuỗiXử lý lỗi chuyển đổi3Các toán tử, phần 1
Toán tử số họcPhép chia số nguyênToán tử moduloToán tử tăng và giảmToán tử gán rút gọnÔn tập: phép tính đơn giản6Luồng điều khiển: ra quyết định
Câu lệnh 'if'Câu lệnh 'else'Câu lệnh 'else if'Ôn tập: quyết định đơn giảnCâu lệnh 'if' lồng nhauCâu lệnh 'switch'9Cơ bản về danh sách trong Collections
Danh sách là gì?Tạo danh sáchTruy cập theo chỉ sốLấy độ dài danh sáchThêm phần tửXóa phần tửKiểm tra danh sách có rỗng khôngDuyệt qua danh sách12Hàm nâng cao
Tham số vị trí tùy chọnTham số có tênTham số có tên bắt buộcGiá trị tham số mặc địnhÔn tập: tham số của hàmTự luyện tập: Trình biên dịch Dart online