기본 콘텐츠로 건너뛰기

라벨이 kotlin인 게시물 표시

kotlin 람다 함수

 개인적으로 람다 함수는 영~~익숙해 지지 않는 면이 있어서 kotlin 을 좀 보는 김에 한번 정리를 해 봤습니다. //3번 fun strLength3(s:String) : Int{ return s.length } fun printStrLength(s:String,p:(String)->Int){ println("String = " + s) println("String Length = ${p(s)}" ) } fun main() { var strLength : (String) -> Int = {s -> s.length} //1번 var strLength2 = {s:String -> s.length} //2번 println("*".repeat(30)) println(strLength("Strike")) println(strLength2("Air")) println("*".repeat(30)) printStrLength("Hello, World!"){s:String -> s.length} //4번 println("*".repeat(30)) printStrLength("Water",strLength) //5번 println("*".repeat(30)) printStrLength("Bread",::strLength3) //6번 println("*".repeat(30)) } 1번이 정석대로의 선언방식이라고 합니다.   2번은 스마트 캐스팅을 이용한 선언이라던데(배우는 중이라 확실히는 모르겠습니다) 어쨌던 1번과 2번은 결과적으로 같은 내용입니다. 표현방법의 차이라고 할까요.   3번은 1번 2번과 같은데 흔히 사용...