2016-11-24 71 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