Swift勉強会

Swiftの学習日記

Swiftの文末のセミコロン「;」はなくてもOKだった

Swiftのプログラムでは、文末の区切りを示すセミコロン「;」が不要でした。

ただし、ワンライナーのように、1行で複数の文を書くときは、セミコロン「;」で区切りを明示します。

 

var a = 1 let b = 2

Playgroundで、このように文を1行で続けて書くと、

error: consecutive statements on a line must be separated by ';'

というコンパイルエラーのメッセージが出ました。

 

var a = 1; let b = 2

このように文と文をセミコロン「;」で区切ればエラーになりません。

 

(参考)「詳細Swift 第3版」p.15

Swiftは、文末にセミコロン「;」を置く必要がありません。

行末が文末と見なせる場合はコンパイラがそのように判断します。

長い式は複数行に渡って記述することもできます。

代入などの単純な文は、それぞれ1行に記述することもできますが、「;」で区切って1行に複数の文を書くこともできます。

Swiftにはカンマ演算子はありませんので、代入をカンマで続けることはできません。

 

なるほど、これでSwiftの疑問が晴れました!

文末のセミコロンは不要だけど、ワンライナーのときは必要。

エラーが出たら、明示的に文を区切るためにセミコロンを書き足す程度の認識でOKと。

 

 

詳解Swift 第3版 Programming Language Swift Definitive Guide

詳解Swift 第3版 Programming Language Swift Definitive Guide