#9 Swiftで学ぶ関数の基本
Swiftの関数は、引数に「外部名」という独自のラベルを付けられるのが特徴です。この記事では、Swiftにおける関数の基本と、ラベルの使い分けを解説します。
関数を作ってみる
Swiftではfuncというキーワードを使います。
func greet(name: String) {
print("こんにちは、\(name)さん")
}
greet(name: "太郎")
呼び出す際にname:というラベルを付けるのがSwiftの特徴です。
値を返す関数
func add(a: Int, b: Int) -> Int {
return a + b
}
let result = add(a: 3, b: 5)
print(result) // 8
外部名という独自の仕組み
Swiftでは、関数定義の際に呼び出し時のラベルを変えることもできます。
func greet(to name: String) {
print("こんにちは、\(name)さん")
}
greet(to: "太郎")
toが呼び出し時のラベル、nameが関数内部で使う名前です。文章のように読める呼び出しができるのが、Swiftらしい特徴です。
デフォルト値を持つ引数
func greet(name: String, honorific: String = "さん") {
print("こんにちは、\(name)\(honorific)")
}
greet(name: "太郎") // こんにちは、太郎さん
greet(name: "太郎", honorific: "様") // こんにちは、太郎様
デフォルト値を持つ引数は、呼び出し時に省略できます。
Swiftならではの注意点
他の言語の感覚でgreet("太郎")のように、ラベルなしで呼び出そうとするとエラーになることがあります。ラベルを省略したい場合は、関数定義の際にラベルの代わりに_(アンダースコア)を書く必要があります。
func greet(_ name: String) {
print("こんにちは、\(name)さん")
}
greet("太郎") // ラベル無しで呼び出せる
可変長引数
いくつ引数が渡されるか決まっていない場合は、型の後ろに...を付けます。
func sum(_ numbers: Int...) -> Int {
numbers.reduce(0, +)
}
print(sum(1, 2, 3, 4)) // 10
まとめ
Swiftの関数はfuncで定義し、呼び出し時にラベルを付けるのが基本です。_によるラベル省略やデフォルト値、可変長引数も含め、この独自の仕組みに慣れると、読みやすいコードが書けるようになります。
本ページはプロモーションを含みます。
参考書籍(PR)
Swiftをもっと学びたい方には「これからつくる iPhoneアプリ開発入門」がおすすめです。
PR
コードを書かずに自動化したい方へ
「学んだけど自分の作業に組み込む時間がない」という方向けに、ダブルクリックで動く Windows専用の自動化ツールをオーダーメイドで作成しています。気になる方は こちらをご覧ください。
コメント
コメントを投稿