-1

我开始研究 swift 并遇到了数组引用和展开要求的字典。我的意思是

  1> let interestingNumbers = [ 
  2.     "Prime": [2, 3, 5, 7, 11, 13], 
  3.     "Fibonacci": [1, 1, 2, 3, 5, 8], 
  4.     "Square": [1, 4, 9, 16, 25], 
  5. ] 

要求从“Square”中取出 9,必须编码

  6> interestingNumbers["Square"]![2]

那在哪里!真的需要解包操作符。

现在,经典地,当不确定字典的下标是否存在时,典型的编程方法是在使用下标之前测试字典中是否存在下标,或者使用某种类型的异常机制,具体取决于您使用的语言. 我可以看到,对于字典,现在可以快速编写一行代码来从数组中获取值,而无需用测试包围代码。这意味着对我在快速工作时对编码字典引用的看法进行了一些调整。

一旦遇到错误并确定在哪里查找,文档确实会解释所有这些。

我想知道用字典快速提​​供这种行为的动机是什么。也就是说,为什么 Swift 走这条路而不是异常机制或具有测试密钥存在的功能?

我要求相信这些见解将引导我更好地利用 swift 功能。

谢谢!

4

1 回答 1

1

我很惊讶没有更多的文章讨论 Swift 的设计理念。有些语言的书籍只是滔滔不绝地谈论这些事情,在这方面我想到了埃菲尔。我确实找到了http://swiftjester.org/papers/whats-different-about-swift.html,这是一篇有趣的文章。

于 2016-09-29T03:25:10.590 回答