初心者にオススメのSwiftのサンプルコードをまとめてみました

19/03/03 17:16:37     19/04/08 09:52:12

Swiftのサンプルコード

このページでは、Swift初心者が学ぶべきサンプルコードをまとめています。

それらのコードを理解することでSwiftの基本的な実装ができるようになり、なおかつコピペして書き換えて使用することもできます。

定数と変数の定義

まず最初に、定数と変数の定義のサンプルコードを紹介します。Swiftに限らずプログラミングの基本とも言えるでしょう。Swiftでは、定数はlet、変数はvarで宣言します。

let immutableStr = "hello"
immutableStr += " world" // => error

letで定数を宣言し、そこに文字列を追加しようとしました。その結果、エラー判定となっています。なぜエラーになるのかというと、letで定数を宣言しているにも関わらず文字列を追加しているからです。

定数は一度宣言したら以降の処理で要素を変えることができません。定数の要素を書きかえようとするとエラーになります。書き換えられないことが定数のメリットでもあります。

var mutableStr = "hello"
mutableStr += " world"
print(mutableStr) // => hello world

次に変数を宣言して上の定数とまったく同じ処理を行いました。しかし変数で宣言しているため、途中で文字列を追加しても問題ありません。letとvarのどちらで宣言するかは、途中で要素を書き換えるかどうかで決定します。

また型は型推論で自動的に決定されますが、あえて宣言するなら以下のように指定します。

var mutableStr: String = "hello"

Swiftは型の推論は行われますが、型の変換は自動では行われません。型変換するためには以下のように明示する必要があります。

let label = "This year is "
let year = 2019
let thisYear = label + String(2019)
print(thisYear) // => This year is 2019
let nextYear = "Next year is \(year + 1)"
print(nextYear) // => Next year is 2020

配列の定義

配列も変数や定数と同様の方法で宣言できます。サンプルコードは以下です。

var itemsArray = ["foo", "bar", "baz"]
var itemsArray: [String] = ["foo", "bar", "baz"]

配列のついでにディクショナリの定義も紹介しておきます。

var itemsDictionary = [
    "foo": "FOO",
    "bar": "BAR",
    "baz": "BAZ"
]

// 型を明示
var itemsDictionary: [String: String] = [
    "foo": "FOO",
    "bar": "BAR",
    "baz": "BAZ"
]

暗黙で型定義する方法と、明示的に型定義する方法です。配列もディクショナリも定義の方法はほぼ同じですが、ディクショナリの場合キーとバリューのように要素がセットになっています。

ループと条件分岐

forやwhile文でのループ処理と、ifやelse文での条件分岐処理について紹介します。さっそくサンプルコードです。

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")
    }
}

Swiftではfor文に配列をそのまま指定して、配列の長さ分ループを回すことができます。配列の長さ分ループを回しつつ、偶数か奇数かを判定しています。次に、while文でループを回してみます。

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

初期値を設定し、それが9になるまでループを回す仕様です。またswitch文による条件分岐を紹介します。switch文はif文とは異なり、複数の条件を同時に指定できる点がポイントです。

Swiftだけでなく他のプログラミング言語にもあるコードなので、すでに知っている方にとってはSwiftでもだいたい同じです。

let age = 17
switch age {
case 0...6:
    print("kindergarden kid")
case 7...12:
    print("primary school student")
case 13...15:
    print("junior high school student")
case 16...18:
    print("high school student")
case 19...22:
    print("college student")
default:
    print("business person")
}
// => high school student

それぞれのcaseに年齢の範囲を指定し、当てはまるcase文が実行されます。

メソッドの定義

Swiftでメソッドを定義するコードは以下のようになります。

func greet(expression: String, person: String) -> String {
    return "\(expression) \(person)."
}
greet(expression: "Hello", person: "Micky") // => "Hello Micky."

クラスとオブジェクトの定義

クラスとオブジェクトを定義するサンプルコードは以下です。

class MyApp {
    class Shape {
        var name: String
        init(name: String) {
            self.name = name
        }
    }

    class Rectangle: Shape {
        var width: Double
        var height: Double

        init(name: String, width: Double, height: Double) {
            self.width = width
            self.height = height
            super.init(name: name)
    }

        func area() -> Double {
            return width * height
        }
    }
var square = MyApp.Rectangle(name: "My Square", width: 7.5, height: 7.5)
square.name // => "My Square"
square.area() // => 56.25
}

まずベースとなるShapeクラスを定義し、それを継承するRectangleクラスを定義しました。最後にこのRectangleクラスを使い、squareオブジェクトを生成しています。クラスの定義やオブジェクトの生成に関しては他のオブジェクト指向言語と同じです。取り立てて大きな特徴はないかと思います。

まとめ

以上、Swiftのサンプルコードを紹介してきました。

今回紹介したものは基本的な内容なので、実際の開発でも100%使用します。変数、定数、配列、ループ、条件分岐、メソッド、クラス、オブジェクト、これらの概念はSwiftだけでなくプログラミングの基礎なので、Swiftで押さえておけば他の言語でも応用が利きます。

そして基本的なことを押さえたら、さっそく簡易的なアプリ開発にチャレンジするのがおすすめです。

案件量が豊富なアルマサーチ

アルマサーチ

最後に、アルマサーチのご紹介!

アルマサーチはフリーランス向けに案件をご紹介することに特化したエージェントサービスです。豊富な案件量から、安定して継続的な案件のご紹介を実現しており、口コミから登録エンジニアが急増中です。

アルマサーチが選ばれる理由

  1. 豊富な案件量。週3〜4日の案件や在宅リモート案件も。
  2. 優秀なコンサルタント陣。
  3. 案件に参画後もしっかりサポート。

豊富な案件量

フリーランス向けに特化し、業界屈指の案件量を誇ります!週3〜4日の案件や、在宅リモート案件もありますし、その他あらゆる希望をしっかりお伝えください。最適な案件のご紹介をさせていただきます。

優秀なコンサルタント陣

技術に疎く、開発の希望を伝えても響かないエージェント・・・嫌ですよね。アルマサーチにはそのような者は一切おりません!さらに独立にまつわる税金や保険関係に詳しいスタッフが徹底的にサポートさせていただきます。

案件に参画後もしっかりサポート

常駐先が決まった瞬間に、一度も連絡が取れなくなるエージェント・・・いますよね?アルマサーチでは、そのようなことは一切ありません!常に電話やメールは即対応しますし、月に1度のランチミーティングなどから現場の状況を細かくヒアリングし、就業環境改善に尽力いたします。

相談する

▼Swift関連の記事一覧
1, 【Swiftのフリーランス案件情報付き】仕事やエンジニアの将来性・学習方法!
2, 繰り返し処理に使えるSwiftのfor文とfor-in文の便利な使い方まとめ
3, 条件分岐に便利なSwiftのSwitch文の使い方まとめ
4, アプリ開発でよく使うSwiftの4つの文法を解説します
5, Swiftのoptional型を使いこなすための7つのポイント
6, Swiftで文字列を扱うためのstring型の使い方
7, Swiftでの配列の宣言・初期化・代入・参照の方法まとめ
8, 実際の開発現場でのSwiftの変数・定数の使われ方を解説します
9, Swiftでif let文を使って出来ることとguard letの使い分けに関して
10, 開発現場でよく使うSwiftのif文の条件分岐をまとめました
11, SwiftにおけるTupleの使い方とわかりやすく解説します
12,(この記事)初心者にオススメのSwiftのサンプルコードをまとめてみました
13, SwiftのString、Int、Doubleの型の変換方法をまとめました
14, 開発現場で役に立つSwiftのクロージャの使い方
15, Swiftでwhileを使って上手に繰り返し処理を行おう
16, Swiftで文字列の長さをチェックするのにlengthを使ってみよう
17, Swiftのdictionaryの使い方と初期化方法をまとめました
18, Swiftの値渡しと参照渡しに関するまとめ
19, Swiftで参照渡ししたい時のinoutの便利な使い方
20, Swiftでfor-in文でindexを使いたい時の方法まとめ
21, Swiftでのクラスとstruct(構造体)の使い分けを解説します

人気記事

編集部おすすめ記事

この記事を読んだ人はこんな記事を読んでいます

案件探しやフリーランスになるための相談する