[android : kotlin] 코틀린 중위 함수(infix) 생성 및 사용 방법
클래스의 멤버 호출 시 사용하는 점(.)을 생략하고 함수 이름 뒤에 소괄호를 생략해 직관적인 이름을 사용하여 표현하는 방법으로 중위 함수가 되려면 3가지 조건이 있다. 첫번째로 멤버 메서드 또는 확장 함수여야 한다. 두번째로 하나의 매개변수를 가져야한다. 세번째로 infix 키워드를 사용하여 정의한다. 중위함수명은 최대한 이해하기 쉬운 이름으로 생성한다.
fun main() {
// 일반 표현법
//val multi = 3.multiply(10)
// 중위 표현법
val multi = 3 multiply 10
println("multi: $multi")
}
// Int를 확장해서 multiply() 함수가 하나 더 추가되었음
infix fun Int.multiply(x: Int): Int { // infix로 선언되므로 중위 함수
return this * x
}
[출력결과]
multi: 30
fun main() {
val source = "Hello World!"
val target = "Kotlin"
println(source getLongString target)
}
// String을 확장해 getLongString 추가
infix fun String.getLongString(target: String): String =
if (this.length > target.length) this else target
[실행결과]
Hello World!
[REFERENCE]
Do it! 코틀린 프로그래밍: 03-5 코틀린의 다양한 함수들