Kotlin-함수
Kotlin은 정적으로 형식화 된 언어이므로 함수가 큰 역할을합니다. 우리는 예제 전체에서 함수를 사용하고 있기 때문에 함수에 꽤 익숙합니다. 함수는 키워드 "fun"으로 선언됩니다. 다른 OOP와 마찬가지로 반환 유형과 옵션 인수 목록도 필요합니다.
다음 예에서는 MyFunction이라는 함수를 정의하고 주 함수에서이 함수를 호출하고 일부 인수를 전달합니다.
fun main(args: Array<String>) {
println(MyFunction("tutorialsPoint.com"))
}
fun MyFunction(x: String): String {
var c:String = "Hey!! Welcome To ---"
return (c+x)
}
위의 코드는 브라우저에서 다음과 같은 출력을 생성합니다.
Hey!! Welcome To ---tutorialsPoint.com
함수는 다음과 같이 선언되어야합니다.
fun <nameOfFunction>(<argument>:<argumentType>):<ReturnType>
다음은 Kotlin에서 사용할 수있는 다양한 유형의 함수입니다.
Lambda 함수
Lambda는 함수를 선언하고 정의하는 동안 보일러 플레이트 코드를 대폭 줄이는 고수준 함수입니다. Kotlin을 사용하면 자신 만의 람다를 정의 할 수 있습니다. Kotlin에서 람다를 선언하고 해당 람다를 함수에 전달할 수 있습니다.
다음 예를 살펴보십시오.
fun main(args: Array<String>) {
val mylambda :(String)->Unit = {s:String->print(s)}
val v:String = "TutorialsPoint.com"
mylambda(v)
}
위의 코드에서 "mylambda"라는 자체 람다를 생성했으며이 람다에 문자열 유형이고 "TutorialsPoint.com"값을 포함하는 하나의 변수를 전달했습니다.
위의 코드는 브라우저에서 다음과 같은 출력을 생성합니다.
TutorialsPoint.com
인라인 기능
위의 예는 Kotlin 애플리케이션에서 사용할 수있는 람다 표현식의 기본을 보여줍니다. 이제 람다를 다른 함수에 전달하여 호출 함수를 인라인 함수로 만드는 출력을 얻을 수 있습니다.
다음 예를 살펴보십시오.
fun main(args: Array<String>) {
val mylambda:(String)->Unit = {s:String->print(s)}
val v:String = "TutorialsPoint.com"
myFun(v,mylambda) //passing lambda as a parameter of another function
}
fun myFun(a :String, action: (String)->Unit) { //passing lambda
print("Heyyy!!!")
action(a)// call to lambda function
}
위의 코드는 브라우저에서 다음과 같은 출력을 생성합니다. 인라인 함수를 사용하여 람다를 매개 변수로 전달했습니다. 다른 함수는 "inline"키워드를 사용하여 인라인 함수로 만들 수 있습니다.
Heyyy!!!TutorialsPoint.com