Tuple
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 68 trên 86.
Mảng lưu trữ nhiều giá trị cùng kiểu dữ liệu, nhưng đôi khi bạn cần nhóm một vài giá trị liên quan thuộc các kiểu dữ liệu khác nhau lại với nhau. Lúc này, tuple rất hữu ích.
Tuple là một tập hợp giá trị cố định có thể có các kiểu dữ liệu khác nhau. Bạn tạo tuple bằng cách đặt các giá trị trong dấu ngoặc đơn, ngăn cách bằng dấu phẩy:
let person = ("Alice", 25, true)
print(person) // ("Alice", 25, true)Để truy cập từng giá trị, hãy dùng chỉ số của chúng sau dấu chấm:
let coordinates = (10.5, 20.3)
print(coordinates.0) // 10.5
print(coordinates.1) // 20.3Bạn cũng có thể đặt tên cho các phần tử để dễ đọc hơn:
let product = (name: "Laptop", price: 999.99)
print(product.name) // Laptop
print(product.price) // 999.99Một tính năng hữu ích khác là tách một bộ (tuple) thành các biến riêng:
let point = (3, 7)
let (x, y) = point
print(x) // 3
print(y) // 7Tuple rất phù hợp để trả về nhiều giá trị từ một hàm (function) hoặc nhóm một lượng nhỏ dữ liệu liên quan mà không cần tạo một cấu trúc hoàn chỉnh.
Thử thách
DễBạn sẽ nhận được ba dòng đầu vào:
- Một tên (String)
- Một tuổi (Int)
- Một điểm số (Double)
Tạo một tuple có tên student với các phần tử được đặt tên: name, age và score.
Sau đó, phân rã tuple thành ba biến riêng biệt: studentName, studentAge và studentScore.
In ra ba dòng sau:
- Tên của học sinh, được truy cập bằng phần tử có tên
- Tuổi của học sinh, được truy cập bằng chỉ số (ký hiệu dấu chấm kèm số)
- Biến điểm số đã phân rã
Ví dụ: Nếu đầu vào là Emma, 21 và 95.5, đầu ra của bạn sẽ là:
Emma
21
95.5Tự làm thử
// Đọc đầu vào
let name = readLine()!
let age = Int(readLine()!)!
let score = Double(readLine()!)!
// TODO: Viết code của bạn bên dưới
// 1. Tạo một tuple tên là 'student' với các phần tử (element) có tên: name, age và score
// 2. Tách tuple thành ba biến (variable) riêng: studentName, studentAge và studentScore
// 3. In ra tên của học sinh bằng phần tử có tên (student.name)
// 4. In ra tuổi của học sinh bằng ký hiệu chỉ số (index) (student.1)
// 5. In ra biến điểm đã tách (studentScore)Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
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