YSHUSH

함수 파라미터 본문

Coding/Kotlin

함수 파라미터

코딩; 2022. 1. 26. 06:18
fun sum(a:Int, b:Int) = a + b

fun text(a:String, b:String) = "Hi! $a $b"

fun funcParam(a:Int, b:Int, c:(Int, Int) -> Int):Int{
    return c(a, b)
}

fun hello(body:(String, String) -> String){
    println(body("Hello", "World!"))
}

함수 호출부

형식에 맞는 파라미터 + ::함수명 으로 파라미터에 함수를 대입할 수 있다.

var global = 10

fun main(args: Array<String>) {

    val res1 = funcParam(3, 4, ::sum)
    println(res1)				// 결과값 = 7

    hello(::text)
    hello({a, b -> text(a, b)})			// 결과값 = Hi! Hello World
    hello {a, b -> text(a, b)}			// 결과값 = Hi! Hello World


    // 일반 변수처럼 할당할 수 있음
    val likeLambda = ::sum
    println(likeLambda(6, 7))			// 결과값 = 13


    global = 11					// 글로벌 변수 사용
    fun localFunc(){				// 함수 안의 함수 -> 가능
        global = 12
    }
    localFunc()
    println("global : $global")

}

'Coding > Kotlin' 카테고리의 다른 글

접근지정자  (0) 2022.01.26
클래스  (0) 2022.01.26
Default parameters(기본인수)  (0) 2022.01.25
함수  (0) 2022.01.25
Exception  (0) 2022.01.25