【问题标题】:Empty Array Vs Dictionary空数组与字典
【发布时间】:2020-01-16 21:21:05
【问题描述】:

我刚学 Swift,发现了 Empty Array 和 Empty Dictionary 的概念。我无法用简单的例子来挖掘它,什么时候选择它,有什么好处?您的帮助将不胜感激。 let emptyArray = [String]() let emptyDictionary = [String: Float]()

如果常量可以为空,为什么要使用数组?

【问题讨论】:

  • 您打算稍后向它们添加数据吗?对于您编写的代码(使用let),它们两者几乎完全没用,因为您无法向它们添加任何内容,并且您无法对空集合执行任何操作。跨度>
  • 那么什么情况下可以使用emptyArray或者emptyDictionary呢?
  • 我想不出任何我想自己使用其中任何一个的情况。它们只有在您将东西放入其中时才有用,这完全取决于您要放入其中的内容以及您想用它做什么。

标签: arrays swift dictionary


【解决方案1】:

没有什么可以“挖掘”的。空的东西就是空的东西。空性对事物的物性没有影响。例如:

  • 空蜂蜜罐是没有蜂蜜的罐子。

  • 空银行账户是指里面没有钱的银行账户。

  • 空字符串是其中没有字符的字符串。

  • 空数组是其中没有元素的数组。

  • 空字典是指其中没有键值对的字典。

字符串的空虚不会使字符串变得更少;它恰好是空的。银行账户的空虚并不会使银行账户不再是银行账户。您不会说:我如何在空银行帐户和空字符串之间进行选择?所以你不要说:我如何在空数组和空字典之间进行选择。

因此,如果您不了解数组和字典之间的区别,那是一回事。但是在您的问题中使用“空”并没有增加任何内容。

【讨论】:

  • 感谢马特的回复。但是我仍然感到困惑的一件事是我可以使用emptyHoneyJar 来重新填充它,清空bankAccount 来存入它等等但是我可以使用emptyArray 或emptyDictionary 在其中添加值(可能是键值对)吗?如果可以,是否可以将其初始化为常量?
  • 你可以将一个空数组或字典初始化为一个常量,但是如果它是一个常量,你就不能在里面放任何东西,所以你为什么要做这样的事情并不明显。如果它是一个变量,而不是一个常数,那么类比成立。
  • 非常有意义。谢谢
【解决方案2】:

这取决于你想要做什么。这些变量不仅仅孤立存在。如果他们这样做了,它们将毫无用处,您应该删除它们。

您是否正在调用需要数组的 API?那么你可以给它传递一个数组。

您是否正在调用需要字典的 API?那么你可以给它一个字典。

【讨论】:

  • 数组 -> 数组,字典 -> 字典
【解决方案3】:

字典是一种无序的数据结构。通过键值访问数据。

数组是数据的有序结构。数据按位置访问。

dict["aKey"] = CGFloat(1)

array.append("Thursday")

字典通过添加键和赋值来增长。

数组通过将值附加到末尾来增长。

【讨论】:

    猜你喜欢
    • 2012-04-05
    • 2011-02-10
    • 1970-01-01
    • 2022-01-05
    • 2020-03-13
    • 1970-01-01
    • 1970-01-01
    • 2020-11-18
    • 2022-08-16
    相关资源
    最近更新 更多