質問: 5 セミコロンを追加しないと、システムはこれが行の終わりであることを認識します。一部の言語でこれを実行し、他の言語でこれを許可しないのは何ですか?最後にセミコロンを追加する統一されたシステムを維持しないのはなぜですか?
回答: ステートメントの終わりを区切るために、セミコロンの代わりに改行が使用されます。 言語ガイド:基本 には次のように書かれています: 他の多くの言語とは異なり、swiftでは、必要に応じてコードの各ステートメントの後にセミコロン(;)を記述する必要はありません。ただし、セミコロンは必須です。 1行に複数の個別のステートメントを記述したい。 どうして?それは言語デザイナーがそうしたかったからです。上記の2番目の文は、セミコロンが不要な理由を示しています。ほとんどのステートメントは1行です。このバブルソートの例を確認してください。単一行ステートメントとセミコロンなしの組み合わせにより、vbに似た非常に簡潔な構文になりますが、冗長性は低くなります。func bubblesort<t:comparable>(inout list:[t]) { var done = false while !done { done = true for i in 1..<list.count { if list[i - 1] > list[i] { (list[i], list[i - 1]) = (list[i - 1], list[i]) done = false } } } } swiftのステートメントは通常改行で終了するため、ステートメントの終わりをセミコロンでマークする必要が少なくなります。セミコロンを使用する他の言語はこの方法では機能しません。自由に記述できます。複数行のステートメントですが、ステートメントが終了したことをコンパイラが認識する唯一の方法は、セミコロンをステートメントの最後に置いたときです。ステートメントが改行で終了しない場合は、swiftコンパイラが前の行の続きとして認識できる場所に改行を配置する必要があります。let s2 = str .lowercasestring .replace("hello", withstring: "goodbye")