基本

Swiftの基本構文のところ

目次 [hide]

変数と定数

変数

変数は「var」をつけて宣言する。

1
2
var a = 0
var b = "Hello"

型を指定して宣言する場合は「変数名:型名」とする。

1
2
var a:Int = 0
var b:String = "Hello"

定数

定数は「let」をつけて宣言する。

1
2
let a = 0
let b = "Hello"

型を指定して宣言する場合は「定数名:型名」とする。

1
2
let a:Int = 0
let b:String = "Hello"

オプショナル型

nilが入る可能性がある変数はオプショナル型にする。
変数、定数の宣言には「?」「!」を取り出し時には「!」を使用する。
宣言時に「!」とした場合、取り出し時に「!」は不要。

1
2
3
4
5
var a:Int? = 123
let b:String! = "Hello"
 
println(a!)
println(b)

タプル

複数の値を1個の値として扱えるようになる。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
// 宣言
var tpl = ("りんご", 80)
 
// 取得
print(tpl.0)
print(tpl.1)
 
// 型を指定して宣言
var tpl:(String, String, Int) = ("りんご", "赤", 80)
 
// ラベル付き
var tpl = (name: "りんご", price: 80)
 
// 取得
print(tpl.name)
print(tpl.price)
他の言語とあまり変わらない感じ!

分岐

if文

1
2
3
4
5
6
7
8
if a == 1 {
    code
else if a == 2 {
    code
}
else {
    code
}

switch文

1
2
3
4
5
6
7
8
9
10
11
12
13
14
switch a {
    case 0:
        // 0の時
        code
    case 1:
        // 1の時
        code
    case 2...5:
        // 2〜5の時
        code
    default:
        // それ以外の場合
        code
}
()のような括弧がいらない。
switch文にbreakがいらない、しかも範囲指定もできる!
イイね!

繰り返し

for文

1
2
3
4
5
6
7
8
9
// nが0〜9まで繰り返す
for n in 0...9 {
    code
}
// 配列のループ
var array = ["りんご", "トマト", "梨"]
for item in array {
    println(item)
}

for文にラベルをつけることも可能です。

1
2
3
4
5
6
7
8
9
10
11
12
loop1: for i in 0...9 {
    loop2: for j in 0...9 {
        if i * j == 25 {
            // loop1を次に進める
            continue loop1
        }
        else if i * j == 30 {
            // loop1を終わらせる
            break loop1
        }
    }
}

while文

1
2
3
4
var n = 0
while n < 5 {
    n++
}
他の言語よりfor文の構文が短くて済む感じ!

配列

1
2
3
4
5
6
7
8
9
10
11
// 宣言、格納
var array = ["りんご", "トマト", "梨"]
 
// 取得
println(array[0])
 
// 追加
array.append("みかん")
 
// 削除
array.removeAtIndex(2)
他の言語とそんなに変わらない

辞書

キーと値の組み合わせ

1
2
3
4
5
6
7
8
9
10
11
12
// 宣言、格納
var dict = ["りんご": 100, "トマト": 30, "梨": 200]
 
// 取得
println(dict["りんご"])
 
// 追加
dict["みかん"] = 80
 
// 削除
dict["りんご"] = nil
dict.removeValueForKey("みかん")
そんなに違和感はない感じ

\ 最新情報をチェック /

コメントを残す

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Swift

次の記事

Swift学習