brunch

You can make 슬롯 사이트thing
by writing

C.S.Lewis

17

빠르게 살펴보기

18


앞서 살펴본 람다식 문법에서는 슬롯 사이트의 리턴 타입을 지정하는 방법이 누락되어 있습니다. 대부분 리턴 타입을 자동으로 유추할 수 있기에 불필요하기 때문입니다. 하지만 리턴 타입을 명시적으로 지정해야 할 필요가 있으면 익명 슬롯 사이트를 사용할 수 있습니다.


익명 슬롯 사이트는슬롯 사이트명이 없다는 것을 빼면 보통 슬롯 사이트 선언과 거의 똑같은 모습을 하고 있습니다. body도 다음과 같이 표현식이나 블록으로 선언할 수 있습니다.


20


fun(x: Int, y: Int): Int = x + y


블록


fun(x: Int, y: Int): Int {

슬롯 사이트 x + y

}



파라미터와 리턴 타입은 보통 슬롯 사이트와 동일한 방법으로 지정합니다. 단, 파라미터 타입을 문맥상 유추할 수 있으면 생략할 수 있습니다.


람다식에서 qualified 슬롯 사이트 syntax를 이용하는 것이 다소 번거롭기 때문에 람다식 대신에 익명 함수를 사용할 수 있습니다.


fun main(args: Array<String) {

val isPositive = fun(num: Int): Boolean {

val isPositive = num 0

슬롯 사이트 isPositive

}

println("isPositive(10) = ${isPositive(10)}")

}


isPositive(10) = true



또한 위에서 말했듯이 리턴 타입을 명시적으로 지정해야 할 필요가 있으면 다음과 같이 익명 슬롯 사이트를 사용할 수 있습니다.


fun main(args: Array<String) {

val return슬롯 사이트 = {

"return슬롯 사이트" as슬롯 사이트

}


val return슬롯 사이트Test = fun():슬롯 사이트= "return슬롯 사이트Test"


println("return슬롯 사이트 = ${return슬롯 사이트()}")

println("return슬롯 사이트2 = ${return슬롯 사이트Test()}")

}


return슬롯 사이트 = retyrn슬롯 사이트

return슬롯 사이트2 = return슬롯 사이트Test



슬롯 사이트로 리턴 타입을 명시적으로 지정했지만 println에서 toString()으로 변환되어 출력된 것입니다.

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari