Kotlin Unpacking params

2023. 7. 26. 11:09개발/Kotlin

현재 대부분의 옵저버에서 데이터를 아래와 같은 형식으로 받아오고있다.

//class
data class Person(val name:String,val age:Int)

//instantiate
val person = Person("ch8n", 25)

//access
val name = person.name
val age = person.age

그러나 아래와 같은 형식으로 간략화가 가능해보인다..

//class
data class Person(val name:String,val age:Int)

//instantiate
val developer = Person("Ch8n", 25)

//access
val (name,age) = developer

etc

//Data Class Destructuring
val person = Person(1, "Chetan", 25)
val(id, name, age) = person

//Collections Destructuring

//map
val map: HashMap<Int, Person> = HashMap()
map.put(1, person)

map.forEach { entry->
 val(key,value) = entry
}

//List or Arrays
val threeItemList = listOf("one", "two", "three")
val (itemOne, itemtwo) = threeItemList

//Destructuring in Lambda
map.forEach { (key,value)-> ...}

//Destructuring in for loop
for ((key, value) in map) { ... }


Uploaded by N2T

'개발 > Kotlin' 카테고리의 다른 글

__**Using String Resources in a ViewModel**__  (0) 2023.08.08
Retrofit to Ktor  (0) 2023.07.26
Kotlin <in, out, where>  (0) 2023.07.26
RxKotlin  (0) 2023.07.26
Kotlin operator extension  (0) 2023.07.25