関数は、次のように定義します。
func 関数の名前() {
    // 実行する処理
}
関数を作るには、まずは「func」と書きます。次にスペースを空けて、関数の名前を書きます。続けてスペースを空けずに「(」と「)」を書きます(「()」の意味は後述)。最後に、スペースを空けてから「{」と「}」の間に関数としてまとめたいプログラムを書きます。
なお、「func」は関数を意味する英単語「ファンクション(Function)」の省略形です。
関数の中に記述するプログラムは、行の始めにスペースを4個空けてから記述します。これは「インデント(Indent)」と言い、文章の段落の始めに空白を入れるのと同じような意味があります。それ以外は、関数の外と同じ書き方(つまり、今まで学んできた書き方)で記述します。
割合を計算するプログラムを関数として定義してみましょう。次のプログラムを書いてください。
func 割合を出す関数() {
    let 割合の値 = 30.0 / 50.0 * 100
    println("割合は\(割合の値)%です")
}
このプログラムでは「割合を出す関数」という名前の関数を定義しています。関数の中には、「30.0」が「50.0」の何パーセントであるか、割合を計算して結果を出力するプログラムを書いています。
関数を定義しただけでは、関数の中に記述したプログラムは実行されません。先ほどの関数を記述した画面を確認してみると、関数の中のプログラムの結果が結果画面に表示されていないことが分かると思います。
関数は「この関数を実行してください」と命令することで初めて実行されます。このように、関数を実行することを一般的に「関数を呼び出す」と言います。
関数を呼び出すには、次のように書きます。
関数名()
関数を呼び出すには、まず関数の名前を書き、その後に続けて「()」を書きます。この「()」の持つ意味は後述しますので、まずは「()」が必要とだけ覚えておいてください。
先ほど定義した関数を呼び出してみましょう。関数の後に、次のプログラムを書いてください。
割合を出す関数()
関数の中のプログラムの結果が結果画面に表示されるようになりました。関数が呼び出された証拠です。
次に、連載第4回「Swift 2.0とオープンソース化が発表されたSwiftの制御構文――比較演算子、条件分岐(if、else、switch)、繰り返し(for、while)&Playgroundのグラフで確認」で学んだ「for文」を組み合わせて、関数を1000回呼び出してみましょう。次のプログラムを書いてみてください。
for _ in 1...1000 {
    割合を出す関数()
}
結果画面に「1000 times」と表示されると思います。関数を使わないで同じプログラムを1000回記述するのは大変そうですが、関数を用いることで簡単に記述することができます。これが関数を使うメリットの一つです。
 開発者向けiOS 9、WatchOS 2、Swift 2、Xcode 7の新機能と新しいApple Developer Programの参考情報まとめ
開発者向けiOS 9、WatchOS 2、Swift 2、Xcode 7の新機能と新しいApple Developer Programの参考情報まとめ iOSアプリ開発でObjective-CからSwiftに移行するための手順、注意点まとめ〜言語仕様の違いは? 連携時の呼び出し方は?
iOSアプリ開発でObjective-CからSwiftに移行するための手順、注意点まとめ〜言語仕様の違いは? 連携時の呼び出し方は? アップル、新プログラミング言語「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も利用可能
iOS 8 SDK、Xcode 6、Swift 1.0がGMに。Apple Pay機能の組み込み、TestFlight Beta Testingも利用可能 Swiftでの変数の定義、Xcodeでのアウトレット接続、iOSシミュレーターへの画像素材追加
Swiftでの変数の定義、Xcodeでのアウトレット接続、iOSシミュレーターへの画像素材追加 OptionalなどSwiftとObjective-Cの違いを意識してPhotos Frameworkを使う
OptionalなどSwiftとObjective-Cの違いを意識してPhotos Frameworkを使う Swiftのカスタムクラスの作り方――プロトコル、サブクラス、イニシャライザー、タイププロパティメソッドのオーバーライド、デリゲートについて注釈の作成で学ぶ
Swiftのカスタムクラスの作り方――プロトコル、サブクラス、イニシャライザー、タイププロパティメソッドのオーバーライド、デリゲートについて注釈の作成で学ぶ iOS 8アプリ開発のこれまで&Swift 1.2への対応、プロパティオブザーバーとwillSetの基本的な使い方、セグエを使った画面遷移
iOS 8アプリ開発のこれまで&Swift 1.2への対応、プロパティオブザーバーとwillSetの基本的な使い方、セグエを使った画面遷移 外から見るWWDC 2014キーノート――Swiftに感じるAppleの本気
外から見るWWDC 2014キーノート――Swiftに感じるAppleの本気 Excelでプログラム作成を始めるメリットとマクロの基本
Excelでプログラム作成を始めるメリットとマクロの基本Copyright © ITmedia, Inc. All Rights Reserved.