Kotlinの戻り値の書き方とUnit型の意味をやさしく解説
生徒
「Kotlinの関数を少しずつ覚えてきたんですが、『戻り値』って何ですか?よく分からなくて……」
先生
「戻り値は、関数の処理が終わったあとに、結果を返す仕組みのことですよ。」
生徒
「返す?どこに返すんですか?あと、Unitって何ですか?空っぽって意味ですか?」
先生
「とても大事なところですね。Kotlinの戻り値の書き方とUnit型の意味について、分かりやすく説明していきますね!」
1. 戻り値(もどりち)とは?
関数は、ある処理をして、その「結果」を返すことがあります。このときの「結果」のことを「戻り値(もどりち)」といいます。
たとえば、数字を2つ足して、その合計を返す関数があるとします。この合計が「戻り値」です。
2. 戻り値を返す関数の書き方
Kotlinで戻り値を返す関数を作るときは、関数の名前のあとに「: 型(たとえば Int や String など)」を書きます。
そして、returnというキーワードで、返す値を書きます。
fun add(a: Int, b: Int): Int {
return a + b
}
fun main() {
val result = add(3, 5)
println("合計は $result です")
}
合計は 8 です
add関数は、2つの整数aとbを足して、その結果(a + b)を戻り値として返しています。
3. 戻り値の型とは?
戻り値の「型」とは、返すデータがどんな種類なのかを表します。たとえば:
Int→ 整数(1, 100など)String→ 文字列("こんにちは" など)Boolean→ 真か偽(true / false)
関数が返す値が数字なら: Int、文字列なら: Stringのように書きます。
4. 戻り値がないときのUnit型とは?
関数によっては、値を返さず、ただ処理だけを実行する場合もあります。そのときに使うのがUnitという型です。
「何も返さない」という意味で、Javaのvoidに近い役割です。
fun sayHello(): Unit {
println("こんにちは!")
}
fun main() {
sayHello()
}
こんにちは!
このように、sayHello()はメッセージを表示するだけで、何も返していません。
5. Unit型は省略できる?
実はKotlinでは、戻り値がUnitのときには、: Unitの部分を省略しても問題ありません。
次のコードは、先ほどと同じ意味です。
fun sayHello() {
println("こんにちは!")
}
Kotlinでは、Unitは特別な型で、書かなくても自動的に判断されるためです。
6. 戻り値を活用するイメージ
戻り値は、料理の注文と料理の提供にたとえられます。
- 注文(関数を呼び出す)
- 料理(関数が処理を行う)
- 料理を受け取る(戻り値を受け取る)
「ハンバーグ定食をください!」と注文したら、ハンバーグ定食が出てくる。それと同じで、関数を呼び出すと「結果」が返ってきます。
7. Kotlinで戻り値を使うと便利な場面
戻り値は、次のような場面でとても役立ちます。
- 数値の計算をして、その結果を使いたいとき
- 文字列を加工して、新しい文章を作るとき
- 条件によって結果を判断したいとき(true / false)
たとえば、名前を受け取って、あいさつの文を作る関数を考えてみましょう。
fun createMessage(name: String): String {
return "こんにちは、$name さん!"
}
fun main() {
val msg = createMessage("ゆうき")
println(msg)
}
こんにちは、ゆうき さん!
このように、関数の結果を変数に入れて、あとから使うことができます。