プログラマーの腕の見せどころ――Swiftの関数、引数、戻り値の基本的な書き方と使い方:初心者のためのSwiftで始めるプログラミング入門(6)(2/5 ページ)
本連載では、これからプログラミングやiPhoneアプリ開発を始めてみたい方を対象に、開発に必要な知識を基礎から解説していきます。今回は、Swiftの関数の定義の仕方や呼び出し方、引数や戻り値の使い方や注意点などについて。
関数を定義する
関数は、次のように定義します。
最も基本的な関数の定義の仕方
func 関数の名前() { // 実行する処理 }
関数を作るには、まずは「func」と書きます。次にスペースを空けて、関数の名前を書きます。続けてスペースを空けずに「(」と「)」を書きます(「()」の意味は後述)。最後に、スペースを空けてから「{」と「}」の間に関数としてまとめたいプログラムを書きます。
なお、「func」は関数を意味する英単語「ファンクション(Function)」の省略形です。
インデント(Indent)とは
関数の中に記述するプログラムは、行の始めにスペースを4個空けてから記述します。これは「インデント(Indent)」と言い、文章の段落の始めに空白を入れるのと同じような意味があります。それ以外は、関数の外と同じ書き方(つまり、今まで学んできた書き方)で記述します。
関数の定義例
割合を計算するプログラムを関数として定義してみましょう。次のプログラムを書いてください。
func 割合を出す関数() { let 割合の値 = 30.0 / 50.0 * 100 println("割合は\(割合の値)%です") }
このプログラムでは「割合を出す関数」という名前の関数を定義しています。関数の中には、「30.0」が「50.0」の何パーセントであるか、割合を計算して結果を出力するプログラムを書いています。
関数を呼び出す
関数を定義しただけでは、関数の中に記述したプログラムは実行されません。先ほどの関数を記述した画面を確認してみると、関数の中のプログラムの結果が結果画面に表示されていないことが分かると思います。
関数は「この関数を実行してください」と命令することで初めて実行されます。このように、関数を実行することを一般的に「関数を呼び出す」と言います。
関数の呼び出し方
関数を呼び出すには、次のように書きます。
関数名()
関数を呼び出すには、まず関数の名前を書き、その後に続けて「()」を書きます。この「()」の持つ意味は後述しますので、まずは「()」が必要とだけ覚えておいてください。
先ほど定義した関数を呼び出してみましょう。関数の後に、次のプログラムを書いてください。
割合を出す関数()
関数の中のプログラムの結果が結果画面に表示されるようになりました。関数が呼び出された証拠です。
「for文」を組み合わせて、関数を1000回呼び出す
次に、連載第4回「Swift 2.0とオープンソース化が発表されたSwiftの制御構文――比較演算子、条件分岐(if、else、switch)、繰り返し(for、while)&Playgroundのグラフで確認」で学んだ「for文」を組み合わせて、関数を1000回呼び出してみましょう。次のプログラムを書いてみてください。
for _ in 1...1000 { 割合を出す関数() }
結果画面に「1000 times」と表示されると思います。関数を使わないで同じプログラムを1000回記述するのは大変そうですが、関数を用いることで簡単に記述することができます。これが関数を使うメリットの一つです。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- 開発者向け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も利用可能
米アップルが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のカスタムクラスの作成手順について解説します。 - iOS 8アプリ開発のこれまで&Swift 1.2への対応、プロパティオブザーバーとwillSetの基本的な使い方、セグエを使った画面遷移
iPhone 6/6 PlusアプリをSwift言語で作成してみたいという初心者向けにiOS 8の新機能を使ったアプリの作り方を一から解説する入門連載。最終回は、これまでの連載を振り返り、これまで作成したPhotoKitを使ったサンプルアプリの仕上げとしてセグエを使った画面遷移を実装の仕方や、プロパティオブザーバーとwillSetの基本的な使い方を解説する。 - 外から見るWWDC 2014キーノート――Swiftに感じるAppleの本気
WWDC常連のドリキンが今年もキーノートを斬ります! 今回はメディアとエンジニアとで、反応が真っ二つに分かれる内容となりました。その理由をエンジニア視点で解き明かしていきたいと思います。 - Excelでプログラム作成を始めるメリットとマクロの基本
プログラミング初心者を対象にExcelマクロ/VBAを使った業務自動化プログラムの作り方を一から解説します。初回は、そもそもプログラミングとは何か、Visual BasicとVBAとマクロの違い、マクロの作り方、保存/削除、セキュリティ設定などについて【Windows 10、Excel 2016に対応】。