[Swift] 基本構文について

Swiftの基本構文を学習したので、備忘録として記録します。なお、私はC言語Matlabなどの言語を理解していていますので、 他言語を知っていて、Swiftではどのように表現しているのかを知りたい方には参考になると思います!

上記の内容をXcodeのPlaygroundで試しながら勉強しました。

・環境について
使用しているSwiftのバージョンは 5.2.2、Xcodeは11.4.1です。

変数の定義

変数の定義では let や var を使用します。
let は作成後に状態を変えられないオブジェクトであるイミュータブルな変数になります。
var は letに反してミュータブルな変数となります。

イミュータブルな変数とミュータブルの変数については以下のプログラム例を参照すると理解しやすいと思います。
1) 間違ったプログラム

let a = "Hello"
a += "world"

←状態を変更できないため、errorを吐く。

2) 正しいプログラム

var b = "Hello "
b += "world"

実行例

Hello world

変数の型の指定についてまとめます。上記の例では型推論により、変数の型はstring型となります。
明示的に型を指定するには、以下のように書きます。

var a:String = "hello"

swiftでは暗黙の型変換は行われません。よって、型を変換したい場合は、下記の例のように明示的に記述する必要があります。

let year = 2020
let thisyear = label + String(2020)
print(thisyear)

実行例

This year is 2020

文字列内での変数展開は次のようにします。

let nextyear = "Next year is \(year + 1)"
print(nextyear)

実行例

This year is 2021

配列の定義

配列は次のように定義します。

var itemarray = ["iMac","Macbook Pro","Macbook Air"]

型を明示するには変数の型の指定と同様に以下のようにします。

var itemarray:[String] = ["iMac","Macbook Pro","Macbook Air"]

ディクショナリの定義

ディクショナリは [ "キー" : "値" ] のように定義します。

var itemdictionary = [
    "iMac" : "IMAC",
    "Macbook Pro" : "MACBOOK PRO",
    "Macbook Air" : "MACBOOK AIR"
]

型を明示するには変数の型の指定と同様に以下のようにします。

var Itemdictionary:[String:String] = [
    "iMac" : "IMAC",
    "Macbook Pro" : "MACBOOK PRO",
    "Macbook Air" : "MACBOOK AIR"
]

制御構造(if else文, for文, while文, switch case文)

制御構造についてまとめます。

if else文とfor文

if else文とfor文による制御は次のように記述します。

let list = [3, 7, 9, 12, 8, 5]
for number in list{
    if number % 2 == 0 {
        print("number \(number) is even")
    } else {
        print("number \(number) is odd")
    }/
}

実行例

number 3 is odd
number 7 is odd
number 9 is odd
number 12 is even
number 8 is even
number 5 is odd

while文

while文による制御は次のように記述します。

var number = 1
while number < 10 {
    print(number)
    number += 1
}

実行例

1
2
3
4
5
6
7
8
9

switch case文

switch case文による制御は次のように記述します。
swiftではrubyのようなRangeオブジェクトを使うことができ、 数値がRangeオブジェクトの範囲に入るかどうかを判定してくれます。

let Height = 170
switch Height {
case 165...169:
    print("Your clothes size is M")
case 170...174:
    print("Your clothes size is L")
case 175...179:
    print("Your clothes size is LL")
default:
    print("Your clothes size is S")
}

実行例

Your clothes size is L

終わりに

今回、Swiftの基本構文について学習の始めとして簡単にまとめました。
Swift言語の基本構文については、他の言語とほぼ同じように記述する感じだったので理解がしやすいですね。しっかり基礎を身につけて、プログラムの勉強を進めていきましょう!