2016-11-24 61 views
-2

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

+1

如果你不符合要求,它会打击你。 – matt

回答

1

有关Swift性质的声明通常用对习惯于以前的语言Objective-C的人有意义。所以在这种情况下,Swift是“严格”的陈述通常指的是变量类型如何输入。但除非你已经使用Objective-C或Ruby之类的其他语言,而不是而不是严格的打字,你可能不会理解它们之间的区别。

例如,Objective-C中,程序员通常使用“动态类型”,其中一个可变的类型是id和可以分配给它的值的任何类型,甚至不同类型的在不同的时间 - 现在的NSString,现在是一个NSNumber,现在是一个UIView。但在斯威夫特你不能那样做;一旦我们确定这个变量是一个字符串,它的值只能是有史以来是一个字符串。

同样,在Objective-C中,NSArray只是任何旧类型的“对象集合”。但在Swift中,Array只是一个一个类型的对象的集合,您必须事先说出它是什么类型。

+1

我认为另一个重要的观点是“可选项”的概念,不是吗? –

+0

所以如果我理解正确,Swift在某种程度上类似于Java的严格性? – KarolisShp