プロのカウンセラーがキャリアの悩みを解決! 無料キャリア相談はこちらから

【Swift 入門】絶対つまづかないSwiftプログラミング

作成: 2017.08.04 更新: 2018.03.09

>>No.1エンジニア養成プログラム テックキャンプ

読むだけでIT転職が有利になる限定資料はこちら

出典:apple

あなたは「プログラミングを始めてみたい、でも難しそうで手が出しづらい。」といった悩みを抱えていませんか?

しかし、Swiftという言語はとても簡単にプログラミングできます。

この記事ではそんなSwiftを初めて学ぶ方が、すぐにプログラミングが出来るようになるためのお話をさせていただきます。

Swiftとは

アプリ開発のために生まれた言語

SwiftはiOSなどで使えるアプリケーションを開発するためにAppleが作りだした言語で、今まで使われてきたObjective-Cに代わる新たな言語として設計されています。

スクリプト言語に近い感覚で設計ができ、非常に簡単にアプリケーションを作ることができる言語です。

基本的にMacOSでの開発を想定されている言語ですが、Windowsでも開発が可能です。

Objective-Cとの違い

Objective-Cに代わる言語として作られているため、基本的にそれに比べてSwiftは扱いやすくなっています。

後述する特徴の項で詳しく述べたいと思いますが、具体的には簡単で直感的にコードが書けるObjective-Cよりも高速である、などObjective-Cを意識して作られている分、それよりも優れた言語になっています。

これからも開発が進んでいく言語ということもあり、徐々にSwiftへの移行をしている方が増えています。

現行バージョンはSwift3.1

2017年8月現在、Swiftの最新バージョンは2017年3月27日にリリースされた、Swift3.1です。比較的新しい言語であるので、精力的に開発が進められています。

Swiftの特徴

コーディングが簡単

Objective-Cは他のプログラミング言語などと比べても慣れていないと難しく、習得するまでに時間がかかりました。

しかし、SwiftはRubyやPythonといったスクリプト言語の要素を採り入れており、容易にコードが書けるようになっています。セミコロンや型の指定が不要であるなど、初心者が間違えやすいようなところを自動的に行ってくれます。

動作が軽量

SwiftはLLVMという高速なコンパイラを使用しているため、プログラムを実行した際に非常にスムーズに動作をしてくれます。具体的な数字として、Apple公式サイトではObjective-Cよりも最大で2.6倍、Python2.7よりも最大で8.4倍高速に動作すると発表されています。

コロナ禍でも安心してエンジニア転職

テックキャンプ エンジニア転職は、未経験から約99%がエンジニア転職を実現しているプログラミングスクールです。 テックキャンプはコロナ禍でも安心して受講が可能。「徹底したサポート」「やりきれる学習環境」を自宅で学べるオンラインスタイルと感染防止対策を徹底した教室受講のどちらでも提供しています。 キャリアに悩む前に、まずはテックキャンプの無料カウンセリングを受けてみませんか?

開発環境実装までのチュートリアル

プログラミングを始めるためにはその言語でプログラムを作れる開発環境を実装する必要があります。MacOSとWidowsでは利用するものが違いますので別々に説明していきたいと思います。

MacOSでの導入

MacOSでの導入はXcodeと呼ばれる開発環境をMacAppStoreからダウンロードします。

Xcodeを起動して、「Get started with a playground」を選択します。名称とファイルの保存先を決定したら導入は完了です。コードを書いてプログラムを作ることができます。

Windowsでの導入

もともとSwiftはAppleが作った言語ということもあり、Windowsには対応しておりません。

Windows上でUbuntuを動かしてSwiftを扱うという方法もあるのですが、少し手順が複雑ですのでブラウザ上でSwiftを実行する方法についてご紹介いたします。こちらのサイト「IBM Swift Sandbox」にアクセスしましょう。これだけでSwiftが実行できる環境を用意することができます。

この記事のハッシュタグ

基本的な文法のサンプルコード

Swiftでコードが書けるようになったら早速プログラムを書いてみましょう。簡単なプログラムのサンプルコードを書いておくので、コピーアンドペーストをして実行してみてください。

文字の出力

まずは、プログラミングでは定番の「Hello world!」という文字列を出力するプログラムを書いていきましょう。次のコードを打ち込んでみてください。

 

print(“Hello world!”)

 

こちらを実行するとHello world!という文字が出力されます。

簡単な演算

次に簡単な計算をしてみましょう。次のコードを打ち込んでみてください。

var x = 20
var y = 10

print(x+y)
print(x-y)
print(x*y)
print(x/y)

 

これを実行すると

30

10

200

2

と表示されます。割り算の記号は÷ではなく/となっていることに気を付けてください。

 

条件分岐

次は条件によって結果が変わるプログラムを書いてみましょう。

var x = 2

if x%2==0{
print(“偶数”)
}
else{
print(“奇数”)
}

こちらは偶数と出力されます。

if 条件{処理}で条件が成り立った時に{}内の処理を実行します。

else{処理}でifの条件が成り立たなかった時に{}内の処理を実行します。

また、x%2はxを2で割った余りを求めます。==は左辺と右辺が等しいという条件ですので、今回は「xを2で割ったあまりが0ならば」という条件になります。条件式には他にも、等しくないことを示す!=や、大きさの比較をする<>等があります。

 

処理の繰り返し

最後に、同じ処理を繰り返し実行するプログラムを書いてみましょう。

for i in 1…5{
print(i)
}

これは1から5までカウントアップするプログラムです。

for 定数 in 値の範囲{処理}で値の範囲の分だけ処理を繰り返すことができます。サンプルコードでは値の範囲を1…5として5回繰り返しています。最初のループではiに1が、次のループではiに2が代入されていき、iに5が代入されるまで続いていきます。

プログラムを書いていくうえで一つ前の分岐とこの繰り返しは非常に大事な処理になってくるのでぜひ覚えておいてください。

これからのSwift学習にオススメの入門書3選

今までの内容でなんとなくプログラムの書き方が分かってきたのではないかと思います。そして、より深くSwiftを学んでいきたいと考えている方にオススメの入門書を3つほどご紹介したいと思います。

これからつくる iPhoneアプリ開発入門 ~Swiftではじめるプログラミングの第一歩

難しいことはひとまず置いておいて、とりあえずなにかアプリを作ってみたいといった人にはオススメできる本だと思います。

サンプルアプリもいろいろ書いてあり、それを組み上げていくだけでも十分Swiftへの理解が進むと思います。ページ数も膨大というわけではないので、本を買っても途中で投げ出してしまうことが多い人にもオススメです。

iPhoneアプリ開発講座 はじめてのSwift

もっとSwiftという言語について学んでいきたいという方にはこの本がオススメです。

ほとんどがプログラミング言語としてのSwiftの説明となっていて、言語についてより深い理解が出来るようになると思います。言語の説明といっても難解で分かりづらいわけではなく、イラストをたくさん使うことにより直感的にわかりやすい本となっていますので、詰まることもあまりなく学習が進められるのではないでしょうか。

15時間でわかる Swift集中講座

手っ取り早くSwiftを学びたいという方にはこの本がオススメです。

Swiftの文法についてひと通り触れられており、スマホアプリのタッチ操作や加速度センサーなどの機能についても解説がなされています。タイトルに書いてある通り、短時間で読み切ることが出来るので集中的に学びたい方にはオススメの本だと思います。

自宅にいながら、プロのカウンセラーにキャリア相談!

テックキャンプ エンジニア転職は、未経験からのエンジニア・Webデザイナー転職を実現するスクールです。転職成功率は99.0%。※2019年8月末時点。学習完了後、当社の転職支援利用者の転職成功率

テックキャンプでは、オンラインでカウンセリングや学習サービスを提供しています。

オンラインでも、テックキャンプならではの「徹底したサポート」と「やりきらせる学習環境」は変わりません。オンラインでプログラミングを習得した方のインタビューはこちら

キャリアに悩んだら、ビデオ通話で無料オンラインカウンセリング(キャリア相談)を受けてみませんか?オンラインカウンセリングのやり方は簡単で、5分もあれば準備が完了します。

まずはカウンセリングから、ぜひご利用ください。

無料カウンセリングの詳細はこちら

この記事を書いた人

テックキャンプ ブログ編集部
テックキャンプ ブログは株式会社divのオウンドメディア。テクノロジーを通じて人生をより良くしたい人のためのWebメディアです。 教養としてテクノロジーを学ぶ人や、プログラミング未経験からのエンジニア転職を志す人に貢献することをミッションとしています。学ぶことの喜び、挑戦することの楽しさを伝えていきます。