Help us understand the problem. What is going on with this article?

Kotlinで関数定義

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

基本的な関数定義。

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) }
}
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした