はじめてのKotlin入門
第11回 引数を受け取ろう

「:」は「コロン」って呼ばれる記号だよ

みなさん、こんにちは!

最近はTwitterで猫動画をリツイートすることが天職だと思っている、あらたまです。

さて今日は「はじめてのKotlin入門」の第11回目です。

おさらい

前回の「第10回 関数をつくろう」では 「どすこい!」などと表示する関数「printDosukoi」を作ってみましたね。

fun main() {
    println("Hello, world!!!")
    printDosukoi()
    printDosukoi()
    printDosukoi()
}

fun printDosukoi() {
    println("どすこい!")
    println("どやさ!")
    println("どげんかせんといかん!")
}

今回はこの自作の関数に「引数」をわたす方法についてお話したいと思います。

Kotlin Playground」を開いて準備してくださいね。

「引数(ひきすう)」ってなんだっけ?

少し前になりますが「第4回 画面に文字を表示する~引数」で、引数のお話をしました。そのときの内容をまとめると、

  • 「引数」は関数に引き渡す値のこと
  • 「引数」は関数を呼び出すときに、後ろのカッコ「()」の中に渡したい値を書く

ということでした。

例えばprintln関数なら、

println("どすこい!")
この「どすこい!」の部分が引数ということですね。

作った関数で引数を受け取ろう

それでは自作の関数「printDosukoi」で引数を受け取るためにはどのようにすれば良いのでしょうか?

正解はこんな感じです。

fun printDosukoi(name: String) {
    println("どすこい!")
    println("どやさ!")
    println("どげんかせんといかん!")
}

関数を作るときのカッコの中に、「引数名:引数の型」というふうに書いてあげるだけです。

複数の引数を受け取りたいときは、「,(カンマ)」で区切って書きます。

fun printDosukoi(name: String, age: Int) {
    println("どすこい!")
    println("どやさ!")
    println("どげんかせんといかん!")
}

では、引数名と引数の型についてご説明します。

引数名はわかりやすい名前をつけよう

引数名はあなたの好きな名前をつけることができます。

fun printDosukoi(name: String, age: Int) {
    println("どすこい!")
    println("どやさ!")
    println("どげんかせんといかん!")
}

どのような意味の値が引き渡されるのか、できるだけわかりやすい名前をつけてくださいね。

引数の型

引数の型は、どのような種類の値を渡すことができるのかを指定します。

fun printDosukoi(name: String, age: Int) {
    println("どすこい!")
    println("どやさ!")
    println("どげんかせんといかん!")
}

今回の例で書いた「String(ストリング)」は「文字列」、「Int(イント)」は「整数」が引数として渡されることを記述しています。

引数の型は他にもいろいろありますが、あとひとつだけ抑えておきたいのは「Float(フロート)」。Floatは「小数」を表します。

引数で渡された値を使ってみる

それでは引数を受け取る準備ができましたので、受け取った引数を使ってみたいと思います。

とは言っても、じつは使いかたをみなさんはすでに知っています。

第8回 数値を入れた変数のつかいかた」や 「第9回 文字列を入れた変数のつかいかた」で、 学習した「変数」と同じような感覚で使うことができるのです。

今回は、引数で受け取った値を表示するように1行追加してみました。

fun printDosukoi(name: String, age: Int) {
    println(name + "さん(" + age + "歳)が言った")
    println("どすこい!")
    println("どやさ!")
    println("どげんかせんといかん!")
}

引数を渡す

関数がわの方で引数を受け取る準備、使う準備ができましたので、 あとは呼び出すときに引数を渡してあげるだけです。

渡し方はprintln関数などといっしょ。関数名のうしろのカッコに渡したい値を書きます。

こちらも複数の引数を渡す場合は、「,(カンマ)」で区切って書きます。

fun main() {
    println("Hello, world!!!")
    printDosukoi("田中", 30)
    printDosukoi("山田", 42)
    printDosukoi("たかし", 8)
}

fun printDosukoi(name: String, age: Int) {
    println(name + "さん(" + age + "歳)が言った")
    println("どすこい!")
    println("どやさ!")
    println("どげんかせんといかん!")
}

これを実行すると・・・

引数で渡した値を使って表示されました! プログラムを実行した画像

今回はここまでです!

自分で作った関数で引数を受け取る方法、いかがでしたか?

次回はプログラムの中での分岐処理、「if」についてお話したいと思います。

次回へ続く。