在swift中创建不可变空数组的优缺点

问题描述 投票:-4回答:1

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

let emptyArray = [String]()

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

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

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

arrays swift immutablearray
1个回答
1
投票

我感兴趣的是为什么有人会需要这个?

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

它有用吗?

我想我们可以提出人为的例子,但如果你需要它,那就用它吧。如果你发现它没用,很好,不要使用它。

否则Apple不会允许它

我认为你正在阅读的内容比现在更多。 Apple没有考虑可以在Swift中编写的所有可能的代码行,然后允许或禁止它。您可以这样做的事实是您可以在创建变量时初始化变量这一事实的自然延伸。如果你用var声明它,那么它是可变的,如果用let声明它,它是不可变的。基于什么理由,苹果不允许创建一个不可变的空数组?因为他们想不出用它呢?这对于确实想出它的程序员来说真是令人沮丧。

© www.soinside.com 2019 - 2024. All rights reserved.