示例代码:
let interestingNumbers = [
"Prime":[2,3,5,7,11,13],
"Fibonacci":[1,1,2,3,5,8],
"Square":[1,4,9,16,25]`,`
]
问题:在“Square:[1,4,9,16,25]”之后,有一个逗号(来自Apple Swift参考指南的示例代码),当我摆脱它时,我没有得到任何来自Xcode的错误消息,这只是一个惯例吗? (我记得在objective-C
中的数组或字典之后有一个nil
答案 0 :(得分:3)
这是因为字典中最后一个元素后面的逗号是可选的。
考虑一个更简单的例子:
let letters = ["A":1,
"B":2,
"C":3
]
在最后一个元素"C":3
之后放置的逗号是可接受的,但是可选的。
我认为没有关于最终逗号的具体约定 - 有些人可能更喜欢它,因为它允许您在以下行中添加项目而不修改上面的行来添加逗号(使源代码控制审查更简单)。出于同样的原因,我经常在enum
声明的最后一个元素上留下逗号。
如果您知道将来可能会添加更多元素,那么使用逗号可以简化代码审查中的源差异(一条添加的行而不是一条删除的行和两条添加的行)。我会使用逗号,你知道你以后会添加元素,如果项目列表是最终的,则省略。