Apple WatchやiPhoneのアプリを作ろう! Playgroundで学ぶSwiftの基礎―変数、定数、型、演算:初心者のためのSwiftで始めるプログラミング入門(3)(3/4 ページ)
本連載では、これからプログラミングやiPhoneアプリ開発を始めてみたい方を対象に、開発に必要な知識を基礎から解説していきます。今回は、Swiftの変数、定数、型、演算などについてサンプルプログラムを交えて解説します。
プログラムの「型」とは
ここまでのプログラムでは、変数や定数に「りんご」「バナナ」などのような文字列(文字の値)を代入したり、参照したりしていました。プログラムではもちろん、文字列だけを扱うわけではありません。
例えば、商品の値段には「100」「200」といった「整数」の値を使います。このような値の種類のことを「型」と呼びます。
それでは、Swiftで使う基本的な型を見ていきましょう。
文字列型(String型)
文字列型は、これまで扱ってきたような文字を扱う型です。Swiftでは「String(ストリング)型」と呼びます。アプリの画面上に表示するメッセージなどに使います。
let メッセージ = "こんにちは"
整数型(Int型)
整数型は、整数のみを扱う型です。Swiftでは「Int(イント)型」と呼びます。商品の値段やゲームのスコア(点数)などに使います。ちなみに、Intは整数を表す英単語「Integer(インテジャー)」が省略されたものです。
let 価格 = 100
浮動小数点数型(Double型、Float型)
浮動小数点型は、小数点を含む数を扱う型です。Swiftでは「Double(ダブル)型」「Float(フロート)型」と呼びます(2つの型は入れることのできる最小値・最大値が異なります)。地図の座標(緯度、経度)や温度などのような、小数点が含まれる細かい数に使います。
let 緯度 = 35.697239 let 円周率 = 3.14159
ブーリアン型(Bool型)
ブーリアン型は、真か偽のどちらかを扱う型で、「フラグ」や「2値」などとも呼びます。Swiftでは「Bool(ブール)型」と呼び、「true」または「false」のどちらかの値しか代入することができません。スイッチのオン/オフのような「2つのうちのどちらか」という状態を表現したいときに使います。ちなみに、Boolは英単語「Boolean(ブーリアン)」が省略されたものです。
let 今日の天気は晴れ = true let 今日の天気は雨 = false
型を「指定」するには?
Swiftでは、定数(変数)を宣言するときに必ず型を指定しなければいけません。まずは、次のプログラムを書いてみましょう。
let あいさつ: String = "こんにちは"
このように、型を指定するには定数(変数)の名前の後に続けて「: 型の名前」を書きます。上記で紹介した型を使うのであれば、「: Int」や「: Bool」などといったように書きます。
let 所持金: Int = 10000 let 今日の天気は晴れ: Bool = true
値の種類を自動で判断してくれる「型推論」
さて、ここで一つ疑問が出てきます。なぜ今までは「: String」を書いていないのに、文字列(つまりString型の値)と判断されていたのでしょうか? その理由は、定数(変数)の宣言と同時にString型の値を代入しているからです。
let くだもの = "りんご"
上記のプログラムでは、定数の宣言と同時に「りんご」という文字列を代入しています。そのため、Playground(Xcode)が「文字列が代入されているから、この定数をおそらくString型として使いたいんだな」と自動で判断してくれます。
このように、プログラムの文脈から型を推測してくれる機能のことを「型推論」と言います。型推論は、String型だけではなく、全ての型で有効です。
型の指定は宣言時のみ可能で、後から変更することはできません。また、型が指定された定数(変数)に対して異なる型の値は代入できません。例えば、次のプログラムはDouble型の変数にString型の値を代入しようとしているため、エラーが発生します。
var 気温 = 24.5 気温 = "24度5分"
これはつまり、どのような状況でも定数(変数)は宣言されたときに決まった型として扱われるということです。
「\( )」で文字列に値を混ぜる
いくつかの型を見てきましたが、これらの型の値は文字列に混ぜて、1つの文字列にすることができます。まずは、次のプログラムを書いてみましょう。
let 値段 = 100 println("イチゴは\(値段)円です")
※「\」は、「alt」キーを押しながら「\」キーを押すと入力できます。
結果画面を見てみると、「イチゴは100円です」と表示されていると思います。これは、「値段」の値が「イチゴは〜円です」という文字の中に混ざり込んだからです。このように、文字列(つまりString型の値)の中に「\(値)」を含めることで、1つの文字列にすることができます。
コラム「プログラムの中にコメントを書くには?」
プログラムの中には「コメント」と呼ばれる、メモ書きを含めることができます。コメントはプログラムとして処理されないため、プログラムの間にちょっとしたメモを残すことができます。始めに「//」を書くことで、それ以降に書かれた文章はコメントと見なされます。なお、プログラムが書かれている行の最後にも入れることができます。
// コメントです let お礼の言葉 = "ありがとう" // コメントです
上記の方法では一行しか書くことができませんが、「/*」と「*/」で囲うことで、複数の行をコメント化することができます。
/* この行はコメントです。 複数の行でコメントを書くことができます。 この行もコメントです。 */
特にプログラムの学び始めでは、後でプログラムを見返したときに「ここはどういう意味だっけ?」と忘れてしまうことがあります。そういったときにもすぐに思い出せるように、自分が理解できる文章でコメントを残しておくといいでしょう。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- アップル、新プログラミング言語「Swift」「iOS 8 SDK」「Xcode 6」のベータ版を発表
米アップルが新しいプログラミング言語「Swift」と開発ツール「iOS 8 SDK」「Xcode 6」のベータ版を発表。その特徴と注目ポイントを紹介。 - iOS 8 SDK、Xcode 6、Swift 1.0がGMに。Apple Pay機能の組み込み、TestFlight Beta Testingも利用可能
米アップルが2014年9月9日に発表した内容の中から、iOS 8 SDK、Xcode 6、Apple Watch、Swift 1.0などに関する開発者向けの情報をまとめてみる。 - Swiftでの変数の定義、Xcodeでのアウトレット接続、iOSシミュレーターへの画像素材追加
iPhone 6/6 PlusアプリをSwift言語で作成してみたいという初心者向けにiOS 8の新機能を使ったアプリの作り方を一から解説する入門連載。今回は、Xcodeでアウトレットを接続する方法、Swiftでの変数定義の仕方、iOSシミュレーターへ画像素材を追加する方法などを解説します。 - OptionalなどSwiftとObjective-Cの違いを意識してPhotos Frameworkを使う
iPhone 6/6 PlusアプリをSwift言語で作成してみたいという初心者向けにiOS 8の新機能を使ったアプリの作り方を一から解説する入門連載。今回は、前回の記事で追加した写真の情報を「Photos Framework」の機能を使用して取り出し、写真の情報にひも付いた座標にピンを表示します。また、その過程でOptionalなどSwiftとObjective-Cの違いについて解説します。 - Swiftのカスタムクラスの作り方――プロトコル、サブクラス、イニシャライザー、タイププロパティメソッドのオーバーライド、デリゲートについて注釈の作成で学ぶ
iPhone 6/6 PlusアプリをSwift言語で作成してみたいという初心者向けにiOS 8の新機能を使ったアプリの作り方を一から解説する入門連載。今回は、前回の記事で追加した地図上の「注釈」を写真のサムネイルに差し替える課程でSwiftのカスタムクラスの作成手順について解説します。 - 外から見るWWDC 2014キーノート――Swiftに感じるAppleの本気
WWDC常連のドリキンが今年もキーノートを斬ります! 今回はメディアとエンジニアとで、反応が真っ二つに分かれる内容となりました。その理由をエンジニア視点で解き明かしていきたいと思います。 - Excelでプログラム作成を始めるメリットとマクロの基本
プログラミング初心者を対象にExcelマクロ/VBAを使った業務自動化プログラムの作り方を一から解説します。初回は、そもそもプログラミングとは何か、Visual BasicとVBAとマクロの違い、マクロの作り方、保存/削除、セキュリティ設定などについて【Windows 10、Excel 2016に対応】。