English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Kotlin 중간 함수(infix)

이 문서에서, infix 기호를 사용하여 Kotlin에서 함수를 호출하는 방법(예제를 통해)을 배우게 됩니다.

중간 표기법을 사용한 함수를 생성하는 방법을 배우기 전에, 두 가지 일반적인 중간 표기법 함수를 연구해 보겠습니다.

||와 &&&를 사용할 때, 컴파일러는 or와 and 함수를 찾고 배후에서 호출합니다.

이 두 함수는 중간 표기법을 지원합니다.

예제: Kotlin의 or & and 함수

fun main(args: Array<String>) {
    val a = true
    val b = false
    var result: Boolean
    result = a or b // a.or(b)
    println("result = $result")
    result = a and b // a.and(b)
    println("result = $result")
}

이 프로그램을 실행할 때, 출력은 다음과 같습니다:

result = true
result = false

위의 프로그램에서 a or b 대신 a.or(b)를 사용하고, a and b 대신 a.and(b)를 사용합니다. 이는 이 두 함수가 중간 표기법을 지원하기 때문입니다.

중간 표기법을 사용한 함수를 어떻게 생성할 수 있습니까?

함수 호출을 중간 표기법으로 Kotlin에서 사용할 수 있습니다, 함수가

  • 멤버 함수또는확장 함수

  • 하나의 매개변수만 있습니다.

  • infix 키워드로 표시됨

예제: 사용자 정의 함수, 중간 표기법을 사용함

class Structure() {
    infix fun createPyramid(rows: Int) {
        var k = 0
        for (i in 1..rows) {
            k = 0
            for (space in 1..rows-i) {
                print("    ")
            }
            while (k != 2*i-1) {
                print("* )
                ++k
            }
            println()
        }
    }
}
fun main(args: Array<String>) {
    val p = Structure()
    p createPyramid 4       // p.createPyramid(4)
}

이 프로그램을 실행할 때, 출력은 다음과 같습니다:

      * 
    * * * 
  * * * * * 
* * * * * * *

여기서 createPyramid()는 피라미드 구조를 생성하는 infix 함수입니다. 이는 Structure 클래스의 멤버 함수로, Int 타입의 하나의 매개변수를 받으며 infix 키워드로 시작합니다.

피라미드의 행 수는 함수에 전달된 매개변수에 따라 결정됩니다。