🐈

Swift初心者が知っておくべき基本文法まとめ

に公開

SwiftはAppleのプラットフォーム(iOS, macOS, watchOS, tvOS)向けアプリ開発によく使われるモダンで安全性の高いプログラミング言語です。今回はSwiftを始めるにあたり重要な基本要素を解説します。

1. 定数と変数

値を保存するために使います。

  • 定数(変更不可)
let maximumLoginAttempts = 10
let welcomeMessage = "ようこそ!"
  • 変数(変更可能)
var currentLoginAttempt = 0
var currentTemperature = 25.5
currentTemperature = 26.0 // 値を変更可能

型推論が働きますが、型を明示的に指定(型アノテーション)する場合:

let explicitString: String = "これは文字列です"
var explicitInteger: Int = 100

2. データ型

よく使われる基本的なデータ型:

  • Int(整数)
  • Double(浮動小数点数、高精度)
  • Float(浮動小数点数、低精度)
  • String(文字列)
  • Bool(真偽値)
  • Character(単一文字)

コレクション型:

  • Array(配列)
var taskNames: [String] = ["牛乳を買う", "部屋の掃除"]
taskNames.append("ジムに行く")
print(taskNames[0]) // "牛乳を買う"
  • Dictionary(辞書)
var taskDeadlines: [String: String] = ["牛乳を買う": "今日中"]
taskDeadlines["コードを書く"] = "明日まで"
print(taskDeadlines["牛乳を買う"]) // Optional("今日中")
  • Set(集合)
var tags: Set<String> = ["仕事", "個人"]
tags.insert("趣味")

3. 演算子

  • 算術演算子 (+, -, *, /, %)
  • 比較演算子 (==, !=, >, <, >=, <=)
  • 論理演算子 (&&, ||, !)
  • 範囲演算子 (..., ..<)
for index in 1...5 {
    print(index) // 1〜5
}

4. 制御構文

  • if-else文
let score = 85
if score >= 90 {
    print("素晴らしい!")
} else if score >= 70 {
    print("良い調子!")
} else {
    print("頑張ろう!")
}
  • switch文
let priority = "高"
switch priority {
case "高": print("最優先")
case "中": print("通常通り")
default: print("未設定")
}
  • for-inループ
for fruit in ["りんご", "バナナ"] {
    print(fruit)
}
  • whileループ
var count = 0
while count < 3 {
    print(count)
    count += 1
}
  • repeat-whileループ
var count = 0
repeat {
    print(count)
    count += 1
} while count < 3

5. 関数

特定の処理をまとめる:

func greet(person: String) {
    print("こんにちは、\(person)さん!")
}
greet(person: "山田")

func add(a: Int, b: Int) -> Int {
    return a + b
}
let result = add(a: 5, b: 3)

外部引数名:

func greet(from personName: String, to recipientName: String) {
    print("\(personName)さんから\(recipientName)さんへ")
}
greet(from: "佐藤", to: "鈴木")

6. オプショナル

値がない可能性を表現:

var taskDescription: String? = "買い物リスト"
taskDescription = nil

オプショナルの安全な取り扱い:

  • オプショナルバインディング
if let description = taskDescription {
    print(description)
} else {
    print("説明なし")
}
  • nil合体演算子
let description = taskDescription ?? "説明なし"

7. 構造体とクラス

  • 構造体(値型)
struct Task {
    var title: String
    var isCompleted = false

    mutating func complete() {
        isCompleted = true
    }
}
  • クラス(参照型)
class Project {
    var projectName: String
    var tasks: [Task] = []

    init(projectName: String) {
        self.projectName = projectName
    }

    func addTask(task: Task) {
        tasks.append(task)
    }
}

8. コメント

コードの説明を追加:

// 単一行コメント

/*
複数行
コメント
*/

おわりに

これらはSwiftで開発を始める上での基本だと思います!
一緒にがんばろー

Discussion