Ôn tập: mở gói an toàn
Thuộc phần Kiến thức nền tảng trong hành trình Swift của Coddy. Bài học 15 trên 86.
Thử thách
DễViết hàm formatPlayerInfo nhận name, score và level của người chơi dưới dạng chuỗi, rồi trả về bản tóm tắt thông tin người chơi đã định dạng.
Sử dụng cả ba kỹ thuật tháo gói bạn đã học để xử lý các giá trị có thể bị thiếu:
- Dùng
guard letđể kiểm tra tên có hợp lệ hay không (không rỗng). Nếu tên rỗng, trả về"Unknown player"ngay lập tức. - Dùng
??(toán tử kết hợp nil) để đặt điểm mặc định là"0"nếu điểm rỗng. - Dùng
if letđể kiểm tra cấp độ có hợp lệ hay không (không rỗng). Nếu có giá trị, hãy đưa cấp độ vào đầu ra; nếu không, hãy bỏ phần cấp độ.
Định dạng đầu ra:
- Nếu có cấp độ:
"[name] - Score: [score], Level: [level]" - Nếu cấp độ rỗng:
"[name] - Score: [score]"
Tham số:
name(String): Tên người chơi (chuỗi rỗng biểu thị nil)score(String): Điểm của người chơi (chuỗi rỗng biểu thị nil)level(String): Cấp độ của người chơi (chuỗi rỗng biểu thị nil)
Giá trị trả về: Chuỗi đã định dạng chứa thông tin người chơi, hoặc "Unknown player" nếu tên rỗng.
Gợi ý: Chuyển các chuỗi rỗng thành kiểu optional bên trong hàm bằng cách kiểm tra xem chúng có rỗng không và gán nil nếu có.
Tự làm thử
func formatPlayerInfo(name: String, score: String, level: String) -> String {
// Viết code tại đây
}
Tất cả bài học trong Kiến thức nền tảng
4Các toán tử, phần 1
Toán tử số họcToán tử moduloPhép gán kết hợpÔn tập: phép tính đơn giảnToán tử so sánh7Nhập xuất cơ bản
Hàm in raNội suy chuỗiĐầu vào từ dòngChuyển đổi kiểu dữ liệuÔn tập đến 120Ôn tập đúng hay sai3Giá trị tùy chọn
Giá trị tùy chọn là gìMở gói bằng if letGuard letToán tử gộp nilÔn tập: mở gói an toàn6Ra quyết định
Câu lệnh ifIf và elseÔn tập: máy tính đơn giảnCâu lệnh switchSwitch với khoảng giá trị9Vòng lặp
Vòng lặp for-inVòng lặp whileVòng lặp repeat-whileBreakContinueÔn tập: giai thừaDải giá trị trong vòng lặpVòng lặp lồng nhauÔn tập: đầu vào động12Kiến thức cơ bản về mảng
Khai báo mảngTruy cập phần tửChỉnh sửa mảngPhương thức của mảngÔn tập: Danh sách sản phẩmÔn tập: Mảng đảo ngượcTuple15Trình theo dõi chi tiêu hằng ngày
Tổng quan về dự ánThoát chương trìnhTự luyện tập: Playground Swift