-4

我是 Swift 编程语言的新手。我正在从 Apple 的网站上学习它。我遇到了下面的代码行:

let emptyArray = [String]()

我已经问过另一个与此相关但不完全的问题。我想知道在 Swift 中创建一个空的不可变数组的优缺点是什么。由于上面的代码行包含 let 关键字,它明确表示将在内存中创建一个字符串类型的空数组。我的兴趣点是为什么有人需要它?它有什么用吗?否则,Apple 不会允许这样做。所以我想知道一个例子的优缺点。

注意:我在 Google 和 StackOverflow 中搜索了我的查询,但没有找到我要查找的确切原因。所以在你否决这个问题之前请三思。

编辑:以前提出的问题根本没有解决我当前的问题。通过这个问题,我想知道在什么情况下我应该这样做。为什么 Apple 确实提供了这样的功能,它允许我们创建一个空的不可变数组。因为一个空数组将没有任何值,并且在创建它之后您将无法将其值编辑为空,并且您也无法在其中添加或删除任何项目。那么为什么编译允许写这样的行呢?希望我现在很清楚。

4

1 回答 1

1

我的兴趣点是为什么有人需要它?

也许没有人需要它。仅仅因为它可以在 Swift 中实现并不意味着任何人都在使用它或发现它有用。

有什么用吗?

我想我们可以想出一些人为的例子,但是如果你需要它就使用它。如果你觉得它没用,好吧,不要使用它。

否则苹果不会允许它

我认为你读到的比现在更多。Apple 不会考虑所有可以用 Swift 编写的代码行,然后允许或禁止它。您可以这样做的事实是您可以在创建变量时对其进行初始化这一事实的自然扩展。如果你声明它,var那么它是可变的,如果你声明let它是不可变的。苹果基于什么理由不允许创建不可变的空数组?因为他们想不出它的用途?这真的会让一个确实想出一个用途的程序员感到沮丧。

于 2015-06-02T12:37:01.157 回答