1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Swift 関数の基本

Posted at

今回初投稿です。
1/20よりiOSエンジニアを目指し、スクールで日々Swiftを勉強しています。

この記事では私個人的に苦手な分野を記事にまとめながら
自分自身も勉強になるようにしようと思います。

もし間違ってたら指摘してください笑

今回は関数の基本を記事にしたいと思います。

目次
-関数とは
-1.基本構文
-2.引数とは
-3.引数を持つ構文
-4.戻り値とは
-5.戻り値を持つ構文
-6.引数と戻り値を持つ構文
-最後に

関数とは

・特定の処理を1つの塊として定義したもの
・入力値=引数 出力値=戻り値が存在する
・メソッドとも呼ばれる

1.基本構文

①記述方法

func sayHello() {
    print("Hello!")
}

・関数はこのようにキーワードfuncの後に任意の関数名(今回は「sayHello」)と()を
 記述することで定義できる
・関数名の後の{}内に記載された内容がこの関数の処理内容となる

②処理実行方法

sayHello()

・関数は関数名+()を記述することで処理が実行される

このように関数は特定の処理を1つの塊として名前をつけることができる
また関数には引数を持つ構文も存在する

2.引数とは

・1つの関数内で少し処理を変更したい場合に使用
・上記構文は「Hello!」のみしか処理ができない
・引数を使用することで、「Hello!」以外の文字列を使用することができるようになる
・関数には関数を呼び出す時に値を渡すように定義ができる
・この時の値を引数という
引数イメージ.jpeg
引数付きの関数イメージ

(引数の定義・イメージ図は 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!」を呼ぶ

・関数の中で処理したい結果を呼び出し元に返すよう定義ができる
・この返す値を戻り値(返り値)をいう
戻り値イメージ.jpeg
戻り値を使用して関数の実行結果を受け取るイメージ

(戻り値の定義・イメージ図は 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.引数と戻り値を持つ構文

・引数のみの関数の場合、「関数を計算し結果を表示する」という機能を持っていた
・そこに戻り値を使用し、「関数の中で割合を計算し、計算結果の値を呼び出し元に返す」
 という機能に書き換える

引数+戻り値.jpeg
(引数と戻り値を持つ関数の定義・イメージ図は 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も調べつつ投稿しました。
ご指摘あればぜひご連絡ください。

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?