Search

検索したいワードを入力してください

2019年03月05日

iPhoneアプリ開発の最新言語Swiftを解説!

Swiftはモダンなプログラミング言語です。勉強してみたいと思っている方も多いのではないのでしょうか。この記事では、Swiftの基本的な変数・定数・基本的な型についてソースコードを用いて説明していきます。まず基礎を勉強したいという方は是非読んでみて下さい。

Swiftの変数・定数・基本的について学ぼう!

Swiftってなに?

Swiftとは2014年にAppleが開発したiOS・MacOS向けのプログラミング言語です。安全性が高い言語であり、直感的に利用できるのが特徴です。

Xcodeという開発ツールを使用することによってSwiftを書くことができます。簡単に開発環境を立ち上げることができるのでプログラミング初学者にとって学習のハードルが低いです。

そしてSwiftではコードが書きやすいです。詳しく書くと、型の指定が必要ないことや、セミコロン「;」が必要ないことなどが特徴としてあります。

そして他のプログラミング言語にはないOptionalという概念があるのでそれを理解するとSwiftについて活用の幅が広がります。

この記事では、Swiftの変数・定数・基本的な型についてソースコードを用いて勉強していきます。実際に書いてみて覚えていきましょう。

なおこの記事では以下の開発環境を想定しています。
Xcode 10.0
Swift 4.2

Swiftの変数について

Swiftの変数の特徴

変数とは一度、宣言したらそのあと何度でも再代入が可能な入れ物です。
適切な処理や変数の中身の変化を把握しながらコードを書くことが大事です。以上を気をつけないと予期せぬエラーに繋がる可能性もあるので変数を使用する際は注意して書いてください。

宣言の仕方は、var 変数名 : 型名と書きます。

コードを書くときの変数名や定数名は処理に合った名前をつけることが大事です。

変数はどのように使用されるか

以下のコードは整数型の変数を宣言し、その変数に値を再代入して出力しているコードです。
Int型とは数字を代入することができる型です。

var number : Int = 0 //数値型の変数を宣言し、初期化
number = 1 //値を代入
print(number) //1

number = 1+2
print(number) //3

number = 2+3
print(number) //5


以上のコードのように何度も再代入し使用し続けられるのが変数です。

Swiftの定数について

Swiftの定数の特徴

定数とは、宣言して一度代入した値は後から再代入不可能な入れ物です。
変数と違い、後から値を変更できないため、値の変更を考える必要がなくなり想定していない値を更新してしまうという予期せぬエラーに繋がることも防げます。

宣言の仕方は、let 定数名 : 型名と書きます。

定数はどのように使用されるか

以下のコードは1つの定数を使用して色々な文章を出力しているコードです。
String型とは文字を代入することができる型です。

let name : String = "Taro" //文字列の定数を宣言し、Taroを代入

print("私の名前は\(name)です。") //私の名前はTaroです。
print("あの人の名前は\(name)です。") //あの人の名前はTaroです。
print("私のお父さんは\(name)です。") //私のお父さんはTaroです。


以上のように、何度も同じ定数を使用して処理できるのが定数です。

Swiftの基本的な型について

Swiftの型の種類について

Swiftにはたくさんの型があります。
それぞれの型をしっかりと把握することはエラーに繋がる可能性を下げることに繋がります。

役割
Int数値型
String文字列
Bool真理値
Array配列
Dictionary辞書
Optional値の有無を表す型

以上の表以外にも型はありますがこの記事ではこの型に絞って紹介します。
Int型とString型については変数と定数の"どのように使用されるか"で使用の仕方は書かれているので以下の記事ではそれ以外の型について紹介します。

Bool型について

Bool型とは真理値を表す型です。真理値とはある命題を真(true)が偽(false)かを表す値です。

使用例である以下のコードでは、Bool型の定数を宣言し、trueを代入してからif文で分岐処理を行っているコードです。

let a : Bool = true //Bool型の定数を宣言し、trueを代入

if a == true {
print("aはtrue") //aはtrue
} else {
print("aはtrueではない")
}


定数aはtrueが代入されたため、分岐処理ではtrueの条件下の処理が行われており"aはtrue"と出力されます。

Array型について

Array型とは配列を表す型です。
配列とは、変数や定数などの要素を連続で格納できる型です。
var 変数名 : [型] = []と宣言します。
使用例である以下のコードは、String型の配列を宣言し、名前の要素を代入してからその配列を出力しています。

var array : [String] = ["Taro","jiro","yuki"] //arrayを宣言し、要素を代入

/* indexを指定して出力*/
print(array[1]) //配列の1番目の要素を出力

/*for分を使用して配列の全要素を出力*/
for i in 0 ..< 3{
print(array[i]) //Taro jiro yuki
}


配列の要素では最初の値のindexが0から始まるので、以上のコードで例えるとarray[0]の要素はTaroが入っており、array[1]の要素はjiroが入っており、array[2]の要素はyukiが入っています。
indexを指定するときは、気を付けましょう。

Dictionary型について

Dictionary型とは、辞書のことでありKeyとValueを格納することができる型です。
Keyを指定することによってペアであるValueをアクセスすることができます。
let 定数名 : [ Key : Value] = []と宣言します。

使用例である以下のコードでは、Dictionary型に名前と年齢を格納しています。そしてKeyである名前を指定することによってそのペアである年齢のデータにアクセスすることができます。

let dictionary : [String:Int] = ["Taro":20,"Jiro":43,"Yuki":23] //Dictionary型を宣言

/*dictionaryのTaroを指定*/
print(dictionary["Taro"]!) //20


Dictionary型を使用することによってコードの可読性が上がるので書くことをおすすめします。

Optional型について

Optional型とは、nilを許容することができる型です。
nilを許容する場合は,Optional<Wrapped>を使用します。
これはWrapped?と表記することができ、例えば、Optional<String>はString?と書くことができます。以下のコードではString?を用いて説明しています。

使用例である以下のコードでは、 宣言した変数にnilを代入しています。そしてWrappedされたコードとされていないコードを記述しています。

/*Wrappedされた場合*/
var data : String?
data = nil
print(data) //nil

/*Wrappedされなかった場合*/
var data : String
data = nil //エラー
print(data)


Optionalを使うことによって安全な設計になるのでOptionalを理解することはとても大事です。

まとめ

いかかでしたか?
この記事ではそれぞれの変数・定数・基本的な型について書かれているコードはあくまで一例として書かれているので他の書き方もあります。学んでみて色々な書き方を試してみるのも良い勉強となるでしょう。

Swiftは新しい言語なのでバージョンが変わるのが早いです。よって参考書選びの際には現在のSwiftのバージョンを確認してから選ぶことをおすすめします。

【PR】多くの人がプログラミングを諦めてしまう理由をご存知ですか?



近年プログラミングを勉強する人が増えています。

プログラミング学習者の多くは独学から取り組もうとしますが、だいたい80%ほどは3ヶ月も続かずに諦めてしまいます。早い人は1日目で。

多くの人がプログラミングを独学しようとして諦める理由は、次の3つ。
●モチベーションが維持できない
●エラーの原因・解決方法が分からない
●どう学習すればよいか分からない

TechBoostというプログラミングスクールでは、みんなと一緒にプログラミングをするのでモチベーションの維持ができ、分からないことがあればマンツーマンで教えてくれ、徹底的に研究された初心者向けの教材が揃っています。

TechBoostを卒業後、実際にエンジニアとして転職した方もいるほど。

本気でプログラミングを学びたい方は、一度無料のカウンセリングでご相談ください。プログラミングを嫌いになる前に。

tech boostについて

オーダーメイド型の学習コンテンツを提供する「tech boost」 は、エンジニアのキャリア支援に特化したサービスを複数展開している株式会社Branding Engineerが運営しているプログラミングスクールです。最短3ヶ月間で、未経験から『プログラミングの基礎』、『実際に業務で必要となるスキル』、『今のトレンドとなっている知識』まで学べ、ご希望の方にはプロのキャリアアドバイザーによる就業支援を行うことができます。

tech boost卒業生インタビュー

tech boostの卒業生の声を聞きました。あなたがプログラミングを学びたい理由を、一度考えてみてください。
営業→Javaエンジニア→Rubyエンジニアと転向し、第一志望のFinTech企業で働く山下さん
元営業、ビジネスのわかるエンジニアを目指す菅原さん
サンフランシスコに交換留学し、シリコンバレーのVCでインターン中の梅本さん
予備校の営業から半年でエンジニア転職を果たした小田島さん

tech boostの口コミ



Related