본문 바로가기
kotlin/문법

[kotlin] Functions 함수

by 코드 이야기 2021. 1. 13.
728x90

 

kotlinlang.org/docs/reference/basic-syntax.html#defining-functions

 

Basic Syntax - Kotlin Programming Language

 

kotlinlang.org

&&
kotlinlang.org/docs/reference/functions.html

 

Functions: infix, vararg, tailrec - Kotlin Programming Language

 

kotlinlang.org

 

 

 

 

기본 형태

//int sum(int a, int b) {
//    return a+b;
//}

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

 

함수 내용이 적을 때 아래와 같이 한 줄로 축약할 수도 있다.

fun sum(a: Int, b: Int) : Int = a + b
fun sum(a: Int, b: Int) = a + b

 

 

기본 형태✌️

//void printSum(int a, int b) {
//    cout << "sum of " << a << " and " << b << " is " << a+b;
//}

fun printSum(a: Int, b: Int): Unit {
    println("sum of $a and $b is ${a + b}")
}

반환값이 없을 경우 리턴타입을 Unit으로 적어주어도 되고, 안 적어주어도 된다

 

 

 

기본값 가지게 하기 

fun sum(a: Int = 0, b: Int = 0): Int {
    return a + b
}

 

 

 

인수 직접 지정하기

fun main() {
    println(sum(b = 2, a = 3))
}

fun sum(a: Int = 0, b: Int = 0): Int {
    return a + b
}
fun main() {
    println(sum(0, c = 2, b = 3))
}

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

명시적으로 값과 변수를 매칭시켜줄 수도 있다.

 

 

 

가변적인 인수의 개수

fun main() {
    println(sum(3, 4, 5, 6, 7))
}

fun sum(vararg arr: Int): Int {
    var sum: Int = 0
    for (i in arr.indices) {
        sum = sum + arr[i]
    }
    return sum
}

variable number of arguments (vararg)

 

 

 

 

 

728x90

댓글