
Swiftではじめてみよう! - 使いまわそう!"関数"。
何回も同じことをすることは機会は得意です。プログラミングでも繰り返しは大得意で、何回でも文句言わずに素早くやってくれます。
同じ作業について記録しておいて何回でもそれを利用して作業できる手順書が"関数"と呼ばれるものになります。
手順を書いておいてそれを実行します。書き方ですが、swiftでは
基本型は
func 関数名( 仮引数 :型の名前) -> 戻り値の型{
処理する内容
return 戻り値
}
最低限必要なものは
func 関数名(){
処理する内容
}
となっています。省略ができます。なので簡単な関数としては、
func greet(){
print("Hello")
}
として
greet()
と書いて実行すると
Hello
と出力されます。
関数名だけ指定して実行ができるようになりました。これを使っても同じ操作を繰り返し使い回すことができますが、もっと便利な使い方があります。
引数と呼ばれる値を関数に与えてその引数に見合った結果を得ることができます。では引数とはということで
func greet(name:String){
print("hello \(name)!")
}
()ないの"name:String"が引数の部分です。
"仮引数名:型"
という構成になっています。少しわかりにくい感じですが実際に使ってみます。
greet(name: "Taro")
使うときは
greet(仮引数名: 仮引数 )
という感じで使います。
ちょっとわかりにくいのが"return"を使うとき。値を返すってどういうことなど。
例えば
func area(h:Int,w:Int) ->Int{
return h * w
}
var menseki = area(h: 200, w: 300)
とすると変数"menseki"に関数の結果が代入されて次に何か処理ができる状態となります。
ちなみにこの関数は整数(Int)のh、wを使って計算し、整数(->Int)で結果を返すという意味となります。
関数の返り値として得られた値を使って更に別の処理を行うことができるようになります。
返り値のない場合はその処理で終わりで次の処理が必要ないとき、例えば最初に紹介している
func greet(){
print("Hello")
}
のような関数です。これは"Hello"と出力することで処理が終わっているので次に繋げることはできません。
結果を利用する時は"->型"と返り値を指定して"return"します。