ITのこと

H4S Lab.

Swift 基本シンタックス

定数と変数

型推論が導入されている。

書式

// 定数
let 定数名 =let 定数名:型 =// 変数
var 変数名 =var 変数名:型 =

タプル

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

書式

(値1, 値2, ・・・)
(ラベル:値1, ラベル:値2, ・・・) //ラベル付き

var user = ("山田", 35, true)
var user:(String, Int, Bool) = ("山田", 35, true)  // 型指定

// ラベル付き
var user = (name:"山田", age:35, isPass:true) 
var user = (name:String, age:Int, isPass:Bool) = ("山田", 35, true) 

値を取り出す

// インデックス番号でアクセス
let name = user.0
let age = user.1
let isPass = user.2

// ラベルでアクセス
let name = user.name
let age = user.age
let isPass = user.isPass

演算子

演算 記号
算術演算子 +, -, *, /, %
インクリメント, デクリメント ++, --
論理演算子 &&, ||, !
比較演算子 >, <, >=, <=, ==, !=
オブジェクトの比較 ===, !==
代入演算子 =
複合代入演算子 +=, -=, *=, /=, %=, &&=, ||=
三項演算子 条件式 ? trueの場合の式 : falseの場合の式
レンジ演算子 始値..<終了値, 開始値...終了値
ビット演算子 <<, >>, &, |, ^, ~

条件分岐

if 文

if (条件式) {
    ステートメントA
}

if (条件式1) {
    ステートメントA
} else if (条件式2) {
    ステートメントB
} else {
    ステートメントC
}

switch 文

switch 式 {
    case1:
        ステートメントA // swiftではbreakしなくても以降の処理を実行しない
        fallthrough // これを書けばフォールスルーで以降を実行する
    case2:
        ステートメントB
    case3, 値4, 値5:
        ステートメントC
    default:
        ステートメントD
}

ループ処理

// 指定範囲から順に値を取り出す for-in ループ
for 変数 in 開始値 ..< 最終値 {
    ステートメント
}

// コレクションの値を順に取り出す for-in ループ
for 変数 in コレクション {
    ステートメント
}

let numList = [4,2,7,8,9]
var sum = 0
for num in numList {
    sum += sum
}

// カウンタを数えて繰り返す for ループ
for (カウンタの初期化; 条件
; カウントアップまたはダウン) {
    ステートメント
}

for (var i=sizelist.count ; i>0; i--) {
    let size = sizelist[i-1]
}

// 繰り返し while ループ
while (ループ条件) {
    ステートメント
}

// 繰り返し do-while ループ
do {
    ステートメント
} while (ループ条件) 

// 現在の繰り返しの残りの処理をスキップする
continue

// 繰り返しを中断する(ループを中断する)
break

// ループにラベルを付ける
xloop:for x in 0...5 {
    yloop:for y in 0...5 {
        if (x>y) {
            continue xloop // yloopを中断してxloopに抜ける
        }
    }
}

xloop:for x in 0...5 {
    yloop:for y in 0...5 {
        if (x>y) {
            break xloop // yloopだけでなくxloopも中断する
        }
    }
}

参考書籍

詳細!Swift iPhoneアプリ開発 入門ノート Swift 1.1+Xcode 6.1+iOS 8.1対応

詳細!Swift iPhoneアプリ開発 入門ノート Swift 1.1+Xcode 6.1+iOS 8.1対応