Khai báo từ điển
Thuộc phần Logic và luồng thực thi trong hành trình Swift của Coddy. Bài học 12 trên 56.
Từ điển là tập hợp không có thứ tự gồm các cặp khóa/giá trị. Kiểu dữ liệu của khóa và giá trị được cố định khi bạn tạo từ điển.
var prices: [String: Int] = [
"apple": 1,
"bread": 3,
"milk": 4
]
print(prices.count) // 3
print(prices.isEmpty) // falseChú thích kiểu [String: Int] có nghĩa là “khóa là String, giá trị là Int”. Swift thường có thể suy luận kiểu từ giá trị khởi tạo, nhưng viết rõ kiểu sẽ giúp trình khởi tạo rỗng không gây nhầm lẫn:
var counts: [String: Int] = [:]
// Khác với mảng (array) rỗng, vốn cũng cần chỉ rõ kiểu dữ liệu (data type)Đọc một khóa tồn tại sẽ trả về giá trị. Đọc một khóa không tồn tại sẽ trả về nil; bài học tiếp theo sẽ đề cập đến phần đó.
Thử thách
DễĐọc ba dòng đầu vào: tên, quốc gia và tuổi dưới dạng số nguyên. Tạo một từ điển duy nhất tên là person, với khóa String và các giá trị bạn đã đọc (tuổi vẫn giữ kiểu Int, bạn sẽ cần một kiểu giá trị hỗn hợp, xem gợi ý).
In ra ba dòng:
- Số lượng phần tử trong từ điển
name=<value>bằng cách truy cập qua chỉ số concountry=<value>bằng cách truy cập qua chỉ số con
Dùng dạng có thể in ra: khi đọc giá trị trong từ điển dưới dạng Any, hãy buộc mở gói giá trị đó trước khi in.
Với đầu vào Alice / UK / 30, đầu ra là:
3
name=Alice
country=UKTự làm thử
let name = readLine()!
let country = readLine()!
let age = Int(readLine()!)!
// TODO: tạo một từ điển [String: Any] tên là person, in ra số phần tử, name và country
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 Logic và luồng thực thi
1Chuỗi chuyên sâu
Đếm và chỉ sốChữ hoa, chữ thường và xóa khoảng trắngTìm kiếm trong chuỗiTách và nối chuỗiThay thế chuỗi conÔn tập: Kiểm tra tên người dùng4Tập hợp
Tạo tập hợpPhép hợp và phép giaoPhép trừ và hiệu đối xứngTập con và tập hợp conÔn tập: Bộ lọc thẻ7Dự án: Theo dõi thói quen
Tổng quan dự ánĐánh dấu hoàn thành10Dự án: bộ máy trắc nghiệm
Tổng quan dự ánĐặt câu hỏiTự luyện tập: Playground Swift