[코틀린인액션] 가변 인자 함수 , 중위 호출 , MapOf

가변 인자 함수의 정의

  • 함수의 매개변수 타입 앞에 vararg 키워드 사용

사용

fun args(args: Array<String>) {
    val argumentsList = listOf("args: ", *args)
    println(argumentsList)
}

fun main() {
    args(arrayOf("1", "2", "3"))
}

//[args: , 1, 2, 3]
  • *args 는 배열의 각 원소를 개별 인자로 함수에 전달함

중위 호출(Infix Call)

  • to 함수는 중위 호출 방식ㅇㅁ
  • 함수 호출 시 수신 객체와 유일한 메서드 인자 사이에 메서드 이름을 넣어 호출하는 방식
1 to "one" == 1.to("one") 와 동일함

to 함수

  • to 함수는 Pair 의 인스턴스를 반환함
val (number, name) = 1 to "one" => Pair(1, "one")
  • withIndex 와 조합해서 컬렉션의 원소 및 인덱스를 쉽게 다룰 수 있음.
val listOf = listOf(1, 2, 3, 4, 5, 6, 7)
    for ((index, element) in listOf.withIndex()) {
        val (a, b) = index to element
        println("$a: $b")
    }

0: 1
1: 2
2: 3
3: 4
4: 5
5: 6
6: 7

mapOf 함수

fun main() {
    val mapOf = mapOf(1 to "one", 7 to "seven", 53 to "fifty-three")
    println(mapOf)
}
  • mapOf 는 키와 값으로 이루어진 순서쌍을 인자로 받아 맵을 생성
    • 기본적으로 LinkedHashMap 으로 이루어지게된다.

Uploaded by N2T