Til. 코틀린 vararg 가변인자

Variable number of arguments 😀

자바를 사용해본적은 없지만 자바와 마찬가지로 코틀린은 가변 인자를 지원한다. 가변 인자를 사용하면 함수를 호출할 때 인자 개수를 유동적으로 지정할 수 있다. 즉, 가변 인자는 개수가 정해지지 않은 인자를 말한다.

사용방법

인자 앞에 vararg를 사용하면 된다.

예시 1

fun main() {
    val a1 = sum(1)
    val a2 = sum(1, 2, 3, 8)
    println(a1)
    println(a2)
}

fun sum(vararg num: Int) = num.sum()

예시 2

fun printString(vararg strings : String): Unit {
    for (string in strings) {
        println(string)
    }
}

fun main() {
    printString("vararg1")
    printString("vararg1", "vararg2")
    printString("vararg1", "vararg2", "vararg3")
}

인자와 가변인자 같이 사용하기

가변인자를 사용할 때, 꼭 가변인자만 사용해야 하는 것은 아니다. 일반 인자와 섞어 쓸 수 있다.

fun printString(title: Sting, vararg strings: String): Unit {
	println(title)
   	for(strig in strings){
    	println(string)
    }
}

fun main() {
	printString("Title", "varargs1", "varargs2")
}

배열을 가변인자로 넘기기

이미 존재하는 스트링 배열을 가변인자로 넘겨야 할때가 있을수도 있다. 배열 이름 앞에 *을 붙여주면 배열이 가변인자로 취급되어 전달된다.

fun printString(vararg strings : String): Unit {
    for (string in strings) {
        println(string)
    }
}

fun main() {
	val strings = arrayOf("vararg1", "vararg2", "vararg3")
}

참고

좋은 웹페이지 즐겨찾기