Swift入門
では、これからの開発に必要なSwiftの基本的文法として、命名規則や変数、基本的なデータ型について解説します。基本文法には幅広い内容が含まれるため、今回だけではすべてを説明しきれませんが、必要に応じて調べながら少しずつ学んでいきましょう。
命名規則
Swiftではキャメルケースを使用してコードを記述します。キャメルケースとは、それぞれの単語の先頭を大文字で記述する書き方です。その中でも頭文字が小文字から始まるローワーキャメルケース(例:goodMorning
)と、頭文字が大文字から始まるアッパーキャメルケース(例:GoodMorning
)があります。
主にローワーキャメルケースは変数や定数で使用し、アッパーキャメルケースは型名などで使用します。
また命名には、ひらがなや漢字、絵文字も使用できますが、アルファベットや数字を使用して命名することをオススメします。
この場でSwiftでの命名規則について全てを説明することが難しいため、もっと詳しく知りたい方は、SwiftのAPI Design Guidelinesをご確認ください。
変数と定数
変数
変数とは、値を一時的に保存する機能です。値を保存した変数は後からその値を再利用することができます。
変数の宣言にはvar
を使用し、値を代入する記号として=
を使用します。
次の例では、変数number
に123
という値を代入しています。
宣言した後に変数を使用する場合は、var
の記述は不要で、print関数の出力する値として変数number
を指定しています。
次のコードをPlayground上で実行すると、デバッグエリアには123
と出力されます。
var number = 123 print(number) // 出力結果: 123
また変数は、初期値を設定した後も値の上書きが可能です。
次の例では、変数number
に123
という値を初期値として代入していますが、その後、456
という値を代入して、変数の値を上書きしています。変数の中身が変わっているため、出力結果には、456
と表示されます。
var number = 123 number = 456 print(number) // 出力結果: 456
定数
定数とは、変数と同様に値を一時的に保存する機能です。変数は値の上書きが可能でしたが、定数は初期値を設定した後には値の上書きができません。
プログラムの途中で値の上書きが必要のないものには、この定数を使用します。変数を使用した場合でもプログラムは動きますが、値が変わってほしくないものに予期せぬ変更が加わり、結果としてプログラムがうまく動かなくなるといった可能性を減らすため、値の上書きが必要のないものには定数を使用することを推奨します。
定数の宣言にはlet
を使用します。変数で使用したコードのvar
をlet
に書き換えてみましょう。
let number = 123 number = 456 print(number) // 出力結果: 456
書き換えると、Cannot assign to value: 'number' is a 'let' constant
というエラーが表示されます。これは「numberはletで宣言された定数なので、値を代入することができません」という意味になります。
このように、定数に新しい値を代入しようとするとエラーが発生するため、予期せぬ動作を未然に防ぐことができます。
基本的な型
Bool型
Bool型は、真理値を表すデータ型です。真理値とは、物事が「正しい(真)」か「間違っている(偽)」かを示すものです。Swiftでは、true
(真)とfalse
(偽)の値を使って、コードの中でこの判断を書くことができます。
let isHuman= true var isOsamu = false
論理演算
論理演算とは、true
とfalse
に基づいて比較したり、演算子を用いて複数の条件を組み合わせて行う計算のことです。Swiftでもよく使用される論理演算子には、主に以下の3つがあります。
- AND演算子
- OR演算子
- NOT演算子
AND演算子
AND演算子は、&&
という記号で表現されます。
複数の条件が全て真(true
)のときに結果が真(true
)になります。
次のコードを実行してみてください。true && true
の時だけ、出力結果がtrue
となることを確認できます。
let falseAndFalse = false && false print(falseAndFalse) // 出力結果: false let falseAndTrue = false && true print(falseAndTrue) // 出力結果: false let trueAndFalse = true && false print(trueAndFalse) // 出力結果: false let trueAndTrue = true && true print(trueAndTrue) // 出力結果: true
OR演算子
OR演算子は、||
という記号で表現されます。
複数の条件でいずれかの値が真(true
)のときに結果が真(true
)になります。
次のコードを実行してみてください。true
が条件に含まれている場合には出力結果がtrue
となることを確認できます。
let falseOrFalse = false || false print(falseOrFalse) // 出力結果: false let falseOrTrue = false || true print(falseOrTrue) // 出力結果: true let trueOrFalse = true || false print(trueOrFalse) // 出力結果: true let trueOrTrue = true || true print(trueOrTrue) // 出力結果: true
NOT演算子
NOT演算子は、!
という記号で表現されます。
付けた値の論理的な状態を反転させます。例えば、true
にNOT演算子を付けるとfalse
に変わります。
次のコードでは、まず変数isAwesome
にtrue
を代入しています。その後、isAwesome
にNOT演算子をつけた値を再代入しています。その結果、もともとtru
だった値がfalse
になっていることを確認できます。
var isAwesome = true print(isAwesome) // 出力結果: true isAwesome = !isAwesome print(isAwesome) // 出力結果: false