迅捷严谨

时间:2016-11-24 18:18:54

标签: swift

嗯,它在他们的网站上说Swift是一种严格的语言。但是,我不确定它在哪些方面被认为是严格的。你能详细说明一下吗?

1 个答案:

答案 0 :(得分:1)

关于Swift性质的陈述通常用对习惯于以前语言Objective-C的人有意义的术语表达。所以在这种情况下,Swift的声明是严格的"通常指变量类型之类的内容。但除非你使用像Objective-C或Ruby那样严格打字的其他语言,否则你可能不会欣赏这种差异。

例如,在Objective-C中,程序员经常使用"动态类型",其中变量的类型为id,您可以为其赋值 any type,甚至是不同时间的不同类型 - 现在是NSString,现在是NSNumber,现在是UIView。但是在斯威夫特你不能这样做;一旦我们确定这个变量是一个String,它的值只能永远是一个String。

同样,在Objective-C中,NSArray只是"对象的集合"任何旧类型。但是在Swift中,一个Array只是一个类型的对象的集合,你必须事先确切地说它是什么类型。