Swift中有一些类似的方法 . 它们看起来很相似,实际上它们的功能也相似 . 他们是:
popFirst()
, popLast()
, dropFirst()
, dropLast()
, removeFirst()
, removeLast()
特别是 popFirst()
和 removeFirst()
,根据 Apple doc :
func popFirst()移除并返回集合的第一个元素 . func removeFirst()移除并返回集合的第一个元素 .
他们的文件描述完全相同 . 实际上我尝试了很多(在操场上整整一页)来看看这些方法之间是否存在一些显着差异 . 答案是根据我的测试, some methods 和 some methods are totally the same 之间存在一些 very small 差异 .
在 String 和 Array 上使用时,某些方法 popFirst()
, popLast()
和 dropLast()
, dropFirst()
不同 . 但根据我的测试,它们都可以被 removeFirst()
和_1187888取代(尽管存在一些微小的差异) .
所以我的问题是为什么Swift必须保留这些类似的方法 . 这有点多余吗?
1 回答
尽管Apple并不容易找到它,但它确实提到
pop
为空集合返回nil
,并且remove
在没有任何要删除的情况下抛出错误 .但是,您应该能够从这些函数的签名中说出相同的信息:
popFirst
返回一个可选项,这意味着您甚至可以从空集合中弹出第一个元素另一方面,
removeFirst
不是可选的 . 这样的签名意味着在无法返回值的状态下调用此方法是错误的 .这可以通过游乐场轻松确认: