5
6

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 3 years have passed since last update.

基本的な関数定義と呼び出し

基本的な関数定義。

Main.kt

// 引数なし、戻り値なしの関数。値を返さない関数の戻り値はUnit型として扱われる。また、Unit型は省略可能。
// 本来はこうだが、
fun 関数名(): Unit {
    // コード
}
// こう書ける
fun 関数名() {
    // 
}

// 引数あり、戻り値ありの関数
fun 関数名(引数1: 型1, 引数2: 型2): 戻り値の型 {
    // 
    return 戻り値
}

// デフォルト引数の指定も可能
fun 関数名(引数1: 型1 = デフォルト値1, 引数2: 型2 = デフォルト値2): 戻り値の型 {
    // 
    return 戻り値
}

// 関数本体が単純な式の場合はブロックを省略できる。また、型推論が働くため戻り値の型も省略できる
fun 関数名(引数1: 型1 = デフォルト値1, 引数2: 型2 = デフォルト値2) = 

Main.kt
fun main() {
    println(sum1(3, 5))         // デフォルト引数なしの関数呼び出し

    println(sum2(3))            // デフォルト引数ありの関数呼び出し, bとcはデフォルト引数が採用される
    println(sum2(b = 3))        // 引数の値は明示的に指定が可能

    println(sum3(1, 4))
}

fun sum1(a: Int, b: Int): Int {
    return a + b
}

// デフォルト引数の指定も可能
fun sum2(a: Int = 5, b: Int = 4, c: Int = 8): Int {
    return a + b + c
}

// 関数本体が単一の式を返す場合、中括弧を省略することができる。また、型推論が働くため戻り値の型も省略できる。
fun sum3(a: Int, b: Int)  = a + b

可変長引数を持つ関数

Main.kt
fun main() {
    varargFunction(1, 2, 3, 4, 5)
}

// vararg修飾子を使って可変長引数を定義できる、引数は配列となる
fun varargFunction(vararg nums: Int) {
    // Kotlinでは関数リテラルがパラメータを1つだけ持つ場合省略可能、その場合itという名前になる
    nums.forEach { print(it) }
}
5
6
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
5
6

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?