Kotlin 학습 일기(8) 일반적인 고급 함수

2159 단어 Kotlin 개발
let, apply,run,with,repeat 이 몇 가지를 중점적으로 소개합니다.

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)
없음
가방을 닫고 돌아오다.
아니요

좋은 웹페이지 즐겨찾기