コトリン5-1ランダと高次関数
7926 ワード
//1. 람다함수는 익명 함수.
//일반 함수는 fun으로 정의하지만 람다는 정의 x.
val sum2 = {n1:Int, n2:Int -> n1+n2}
val printing = {println("hello")}
fun main(){
sum2(1, 2)
printing()
some(4)
}
//1-1.매개변수가 1개밖에 없는 경우 다르게도 쓸 수 있다.
val some1 = {n1:Int -> println(n1)}
val some2: (Int)->(Unit) = {println(it)}
//1-2. 복잡한 람다함수
val some = {n1:Int, n2:Int ->
println("hello")
n1+n2
}
fun main(){
println(some(1,2))
}
//1-3. 별명 typealias
typealias MyInt = Int
typealias MyType = (Int, Int) -> Boolean
fun main(){
val d1:MyInt = 10
val someFun:MyType = {n1:Int, n2:Int ->
n1>n2
}
println(someFun(1,2))
}
//2. 고차함수는 매개변수나 반환값으로 함수를 이용함.
fun hofFun(arg:(Int)-> Boolean):()->String{
val result = if(arg(10)){
"valid"
}else{"invalid"}
return {"hofFun result : $result"}
}
fun main(){
val result = hofFun({n->n>0})
println(result())
}
Reference
この問題について(コトリン5-1ランダと高次関数), 我々は、より多くの情報をここで見つけました https://velog.io/@hong030/코틀린-5-1-람다와-고차-함수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol