Exemples d'utilisation de run, let, apply, also et with en Kotlin : quand utiliser quoi ?
Bonjour, collègues ! J'ai commencé à apprendre Kotlin et je n'arrive pas à comprendre les fonctions d'extension run, let, apply, also et with. Dans la documentation, il est écrit qu'elles aident à écrire un code plus propre, mais je confonds constamment laquelle choisir.
Par exemple, j'ai une simple classe User :
```kotlin
data class User(var name: String, var age: Int, var email: String)
```
Et je veux créer une instance, modifier ses champs, puis l'afficher dans le log. J'ai essayé différentes variantes :
```kotlin
// Variante 1
val user = User("", 0, "")
user.name = "Иван"
user.age = 25
user.email = "ivan@mail.ru"
println(user)
// Variante 2
val user = User("", 0, "").apply {
name = "Иван"
age = 25
email = "ivan@mail.ru"
}
println(user)
```
Apparemment, apply fonctionne, mais quand il faut retourner un résultat, je