Menu
CoddyTech

声明字典

本课属于 Coddy Swift 学习旅程的“逻辑与流程”单元。第 12 课,共 56 课。

字典是由键值对组成的无序集合。创建字典时,键的类型和值的类型都是固定的。

var prices: [String: Int] = [
    "apple": 1,
    "bread": 3,
    "milk":  4
]
print(prices.count)            // 3
print(prices.isEmpty)          // false

类型注解 [String: Int] 的意思是“键是 String,值是 Int”。Swift 通常可以从字面量推断出类型,但明确写出类型可以让空初始化器的含义更明确:

var counts: [String: Int] = [:]
// 相比之下,空数组也需要指定类型

读取存在的键会返回对应的值。读取不存在的键会返回 nil,下一课会讲解这部分内容。

challenge icon

挑战

简单

读取三行输入:姓名、国家和整数年龄。创建一个名为 person 的字典,键为 String,值为你读入的内容(年龄保持为 Int,你需要使用异构值类型,参见提示)。

打印三行:

  1. 字典中的条目数
  2. 使用下标访问得到的 name=<value>
  3. 使用下标访问得到的 country=<value>

使用可打印形式:将字典值读取为 Any 时,在打印前对它进行强制解包。

输入 Alice / UK / 30 时,输出为:

3
name=Alice
country=UK

亲手试试

let name = readLine()!
let country = readLine()!
let age = Int(readLine()!)!

// TODO:创建一个名为 person 的 [String: Any] 字典,输出 count、name 和 country
quiz icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: Swift 在线编辑器