Kotlin

Kotlin) 코틀린 infix 키워드 알아보기

가짜 개발자 2020. 12. 15. 23:54

 

infix

두 개의 변수 가운데 오는 함수를 말합니다.

대표적으로 to 가 있습니다. to를 사용하여 key와 value가 매핑됩니다.

코드를 간결하고 가독성을 높게 만들어 줄 수 있습니다.

 

Usage
val numbersMap = mapOf("1" to "one", "2" to "two", "3" to "three")
val numbersMap2 = mapOf(Pair("1", "one"), Pair("2", "two"), Pair("3", "three"))
   

infix Fuction

infix 키워드는 함수에서도 선언 가능합니다.

infix fun dispatcher.함수 이름(receiver) : 리턴 타입 { 구현부 } 로 선언할 수 있습니다.

 

  • dispatcher : infix 함수 전에 오는 객체를 의미합니다.
  • reciever : infix 함수 뒤에 오는 객체를 의미합니다.
Usage
infix fun Int.add(x: Int): Int = this + x
Result
 val result = 1.add(2)
 println(result)
 val result2 = 1 add 2
 println(result2)
 
 // 3
 // 3

 


클래스 내부에 infix Fuction 선언

클래스 내부에 선언하면 dispatcher 가 클래스 자신이기 때문에 생략이 가능합니다.

 

Usage
class Example {
    var num = 0
    infix fun add(x: Int) {
        this.num = this.num + x
    }
}
Result
val example = Example()
example add 3
example add 2
println(example.num)

// 5

 


Reference

Infix Fuctions

반응형