Day10:Swift 基础语法— Dictionary

前言

  • Dictionary 储存一堆由<key, value>组合的资料,
    每一个 value 都要分配一个唯一的 key。
    要检索数据时,
    需要给这个 dictionary 唯一的 key,
    从而返回最开始分配给这个 key 的 value。
  • 在 Dictionary 中,
    可以指定 key、value 的数据形态,
    同时里面资料是无序储存的。

实作

  • 现在先宣告一组空的 dictionary:
var a = [String:String]()
var b = [String:Int]()

dictionary 中可以指定键值对的数据形态,
value 的数据形态可以是不同的。
如果不确定 value 的数据形态,
也可以使用 Any 表示混合形态:

var a = [String:Any]()
  • 分配给这个 dictionary 一组键值对:
a["A123"] = "Lucy"

这表示在这个 dictionary 中插入了 value:"Lucy",
并为"Lucy"分配了"A123"的 key。

  • 在 dictionary 中检索 value
    打开 playground:

    我们发现得到了一个包裹在 optional 的值,
    为什麽会是可选的呢?
    我们随机输入一组 key:

    发现得到 nil,
    这表示该键值对不存在。
    所以检索值的时候,
    value 会包裹在 optional 里。
  • 更新一组键值对
  • 删除一组键值对
  • 宣告一个带有多个键值对的 dictionary:
var b = ["A345":"Jack", "A567":"Joy"]
  • 在 dictionary 中检索所有数据:

    我们发现打印出的结果的键值对混淆了,
    这边要注意 dictionary 中的资料是无序储存的。
    另一种检索方式:
    因为 kvp 是包含 key、value 的 tuple,
    所以也可以这样写:

<<:  【Day09】列表 List 与 key

>>:  理解网际网路协定(二):浮动 IP、固定 IP、虚拟 IP,这麽多种 IP 都是什麽?

[Day25] Angular 的 Module 与 Component

昨天我们建立了一个新的 Angular 专案,然後跑了一下内建的范例程序,今天我们要来动手加入一些自...

07 - Metrics - 观察系统的健康指标 (1/6) - Metrics 与 Metricbeat 的基本介绍

Metrics - 观察系统的健康指标 系列文章 (1/6) - Metrics 与 Metricb...

[Day 9] Reactive Programming - Backpressure

前言 大部分介绍Reactive Programming都一定会提到Backpressure,可能放...

【C#】Multi Value Return

这次要来学习如何让函式返回多个值~ 分别用Array~ Struct~ Tuple~ Output ...

JavaScript学习日记 : Day24 - Map

Map与Object Map是像object一样带有key、value的集合,只是最大的差别是Map...