Kotlin infix function

강현성·2021년 6월 4일
1

Kotlin

목록 보기
1/2

📌 infix

  • infix 표기법 : 연산자가 두 개의 피연산자 사이에 오는 표기법
  • infix function : 두 개의 변수 사이에서 호출되는 함수

📌 kotlin infix function

코틀린에서는 infix 키워드를 사용하여 중위 표기법으로 함수를 호출할 수 있습니다.

호출 조건

  • 멤버 함수 또는 확장 함수여야 합니다
  • 한 개의 파라미터만을 가져야 합니다
  • 파라미터로 가변인자를 받을 수 없고, default 값을 가지는 인자가 없어야 합니다
public infix fun <A, B> A.to(that: B): Pair<A, B> = Pair(this, that)

Pair를 만들 때 사용되는 to 함수입니다. 제네릭 형태의 확장함수네요

val pair = 1.to("one")

원래대로하면 이런식으로 사용해야 하지만

val pair = 1 to "one"

to 함수는 infix function이기때문에 이런식으로 사용 할 수 있습니다.

장점

  • 코드가 간결해진다
  • 코드 가독성이 좋아진다

📌 my kotlin infix function

그럼 한 번 infix function을 만들어서 사용해볼게요

fun main(){
    println(1 ascendingList 10)
    println(10 descendingList 1)
}

infix fun Int.ascendingList(end: Int) : List<Int>{
    val list = mutableListOf<Int>()
    for(i in this..end){
        list.add(i)
    }
    return list

}

infix fun Int.descendingList(end: Int) : List<Int>{
    val list = mutableListOf<Int>()
    for(i in this downTo end){
        list.add(i)
    }
    return list
}

결과 
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
[10, 9, 8, 7, 6, 5, 4, 3, 2, 1]

start ~ end까지 오름차순, 내림차순으로 정수형 배열을 리턴해주는 함수를 infix function으로 정의해서 사용해봤습니다.

profile
안드로이드 주니어 개발자

0개의 댓글