今回初投稿です。
1/20よりiOSエンジニアを目指し、スクールで日々Swiftを勉強しています。
この記事では私個人的に苦手な分野を記事にまとめながら
自分自身も勉強になるようにしようと思います。
もし間違ってたら指摘してください笑
今回は関数の基本を記事にしたいと思います。
目次
-関数とは
-1.基本構文
-2.引数とは
-3.引数を持つ構文
-4.戻り値とは
-5.戻り値を持つ構文
-6.引数と戻り値を持つ構文
-最後に
関数とは
・特定の処理を1つの塊として定義したもの
・入力値=引数 出力値=戻り値が存在する
・メソッドとも呼ばれる
1.基本構文
①記述方法
func sayHello() {
print("Hello!")
}
・関数はこのようにキーワードfuncの後に任意の関数名(今回は「sayHello」)と()を
記述することで定義できる
・関数名の後の{}内に記載された内容がこの関数の処理内容となる
②処理実行方法
sayHello()
・関数は関数名+()を記述することで処理が実行される
このように関数は特定の処理を1つの塊として名前をつけることができる
また関数には引数を持つ構文も存在する
2.引数とは
・1つの関数内で少し処理を変更したい場合に使用
・上記構文は「Hello!」のみしか処理ができない
・引数を使用することで、「Hello!」以外の文字列を使用することができるようになる
・関数には関数を呼び出す時に値を渡すように定義ができる
・この時の値を引数という
引数付きの関数イメージ
(引数の定義・イメージ図は https://atmarkit.itmedia.co.jp/ait/articles/1509/10/news021_3.html
より引用)
3.引数を持つ構文
①記述方法
func say(text: String) {
print(text)
}
・通常の関数の定義方法(基本構文参照)に
引数名(text)と:に続いて型(String)を指定することで定義できる
②処理実行方法
say(text :"Hello!")
・関数名+(引数:指定された型の値)を記述することで処理が実行される
・引数がある場合は、指定された型(String)の値("Hello!")を
記述する(「渡す」という)ことで処理が実行される
また引数を含む関数だけでなく戻り値を含めた関数も存在する
4.戻り値とは
・関数の中で処理をさせ結果をもらいたい時に使用
・上記までの構文は一方的に呼び出す構文だった
※基礎関数=「Hello!」を呼ぶ 引数のある関数=文字列の「Hello!」を呼ぶ
・関数の中で処理したい結果を呼び出し元に返すよう定義ができる
・この返す値を戻り値(返り値)をいう
戻り値を使用して関数の実行結果を受け取るイメージ
(戻り値の定義・イメージ図は https://atmarkit.itmedia.co.jp/ait/articles/1509/10/news021_3.html
より引用)
5.戻り値を持つ構文
①記述方法
func number() -> Int {
let result = 10 * 2
return result
}
・関数(1.基本構文 参照)の{}の前に -> 戻り値の型名(Int)を指定する
・この時、関数内({}内)でreturnと元に返したい値(result)を書くことで
戻り値を指定することができる
②処理実行方法
let result = number()
print(result)
・呼び出した関数(number())から返された値を定数(result)に代入することで処理が実行される
引数と戻り値を含めた関数も存在する
6.引数と戻り値を持つ構文
・引数のみの関数の場合、「関数を計算し結果を表示する」という機能を持っていた
・そこに戻り値を使用し、「関数の中で割合を計算し、計算結果の値を呼び出し元に返す」
という機能に書き換える
(引数と戻り値を持つ関数の定義・イメージ図は https://atmarkit.itmedia.co.jp/ait/articles/1509/10/news021_3.html
より引用)
①記述方法
func double(number: Int) -> Int {
let result = number * 2
return result
}
・上記例文は、引数としてInt型が渡され(double(number: Int))
その値を2倍にし(let result = number * 2)
戻り値に返す(-> Int { ...return result })ように定義
②処理実行方法
let originNumber = 10
let doubleNumber = double(number: originNumber)
print(doubleNumber)
・定数originNumberを定義(let originNumber = 10)
・doubleメソッドを呼び出す(double(number: originNumber))と同時に
定数doubleNumberを定義(let doubleNumber =)することで処理を実行する
最後に
今回初めての投稿でMarkdownも調べつつ投稿しました。
ご指摘あればぜひご連絡ください。