Kotlin 학습 일기(8) 일반적인 고급 함수
2159 단어 Kotlin 개발
let
기본적으로 현재 이 대상은 패키지를 닫는 it 매개 변수입니다. 반환값은 함수 안의 마지막 줄이거나,return을 지정합니다."Hellow World".let {
println(it)
if(it.length > 5){
println(" ")
return 1
}else{
println(" ")
return 2
}
}
apply
어떤 대상의 apply 함수를 호출하여 함수 범위 내에서 그 대상의 임의의 방법을 임의로 호출하고 그 대상을 되돌려줍니다ArrayListL.apply{
add("1")
add("666")
println(this)
}
run
런 함수와 apply 함수는 매우 비슷하다. 단지 런 함수는 마지막 줄의 반환을 사용하고 apply는 현재 자신의 대상을 되돌려준다.var length = "Hellow World".run{
concat("haha") println(length()) length }
with
with 함수는 단독 함수로 Kotlin의 extension이 아니기 때문에 호출 방식이 조금 다르다. 마지막 줄로 되돌아오고 대상을 직접 호출할 수 있는 방법은let과 apply의 결합처럼 느껴진다.with(textView){
text = "666"
textColor = Color.YELLOW
textSize = sp(14f).toFloat()
}
repeat
인트형 매개 변수를 전송합니다. 매개 변수에 따라 코드 블록에서 몇 번 실행하고, 매개 변수가 몇 번이면 몇 번 실행합니다.repeat(6){
println("Hello World")
}
요약:
함수명
정의
block 매개 변수
반환값
extension
let
fun T.let(f: (T) -> R): R = f(this)
it
가방을 닫고 돌아오다.
예.
apply
fun T.apply(f: T.() -> Unit): T
없음,this 사용 가능
Unit
예.
run
fun T.run(f: T.() -> R): R
없음,this 사용 가능
Any
예.
with
fun with(receiver: T, f: T.() -> R): R = receiver.f()
없음,this 사용 가능
가방을 닫고 돌아오다.
아니요
repeat
fun repeat(times: Int, action: (Int) -> Unit)
없음
가방을 닫고 돌아오다.
아니요
"Hellow World".let {
println(it)
if(it.length > 5){
println(" ")
return 1
}else{
println(" ")
return 2
}
}
어떤 대상의 apply 함수를 호출하여 함수 범위 내에서 그 대상의 임의의 방법을 임의로 호출하고 그 대상을 되돌려줍니다
ArrayListL.apply{
add("1")
add("666")
println(this)
}
run
런 함수와 apply 함수는 매우 비슷하다. 단지 런 함수는 마지막 줄의 반환을 사용하고 apply는 현재 자신의 대상을 되돌려준다.var length = "Hellow World".run{
concat("haha") println(length()) length }
with
with 함수는 단독 함수로 Kotlin의 extension이 아니기 때문에 호출 방식이 조금 다르다. 마지막 줄로 되돌아오고 대상을 직접 호출할 수 있는 방법은let과 apply의 결합처럼 느껴진다.with(textView){
text = "666"
textColor = Color.YELLOW
textSize = sp(14f).toFloat()
}
repeat
인트형 매개 변수를 전송합니다. 매개 변수에 따라 코드 블록에서 몇 번 실행하고, 매개 변수가 몇 번이면 몇 번 실행합니다.repeat(6){
println("Hello World")
}
요약:
함수명
정의
block 매개 변수
반환값
extension
let
fun T.let(f: (T) -> R): R = f(this)
it
가방을 닫고 돌아오다.
예.
apply
fun T.apply(f: T.() -> Unit): T
없음,this 사용 가능
Unit
예.
run
fun T.run(f: T.() -> R): R
없음,this 사용 가능
Any
예.
with
fun with(receiver: T, f: T.() -> R): R = receiver.f()
없음,this 사용 가능
가방을 닫고 돌아오다.
아니요
repeat
fun repeat(times: Int, action: (Int) -> Unit)
없음
가방을 닫고 돌아오다.
아니요
var length = "Hellow World".run{
concat("haha") println(length()) length }
with 함수는 단독 함수로 Kotlin의 extension이 아니기 때문에 호출 방식이 조금 다르다. 마지막 줄로 되돌아오고 대상을 직접 호출할 수 있는 방법은let과 apply의 결합처럼 느껴진다.
with(textView){
text = "666"
textColor = Color.YELLOW
textSize = sp(14f).toFloat()
}
repeat
인트형 매개 변수를 전송합니다. 매개 변수에 따라 코드 블록에서 몇 번 실행하고, 매개 변수가 몇 번이면 몇 번 실행합니다.repeat(6){
println("Hello World")
}
요약:
함수명
정의
block 매개 변수
반환값
extension
let
fun T.let(f: (T) -> R): R = f(this)
it
가방을 닫고 돌아오다.
예.
apply
fun T.apply(f: T.() -> Unit): T
없음,this 사용 가능
Unit
예.
run
fun T.run(f: T.() -> R): R
없음,this 사용 가능
Any
예.
with
fun with(receiver: T, f: T.() -> R): R = receiver.f()
없음,this 사용 가능
가방을 닫고 돌아오다.
아니요
repeat
fun repeat(times: Int, action: (Int) -> Unit)
없음
가방을 닫고 돌아오다.
아니요
repeat(6){
println("Hello World")
}
fun repeat(times: Int, action: (Int) -> Unit)
없음
가방을 닫고 돌아오다.
아니요