Avatar ·

Exemplos de uso de run, let, apply, also e with em Kotlin: quando usar qual?

Olá, colegas! Comecei a estudar Kotlin e não consigo entender as funções de extensão run, let, apply, also e with. Na documentação diz que elas ajudam a escrever código mais limpo, mas eu sempre me confundo sobre qual escolher. Por exemplo, tenho uma classe User simples: ```kotlin data class User(var name: String, var age: Int, var email: String) ``` E quero criar uma instância, modificar seus campos e depois exibir no log. Tentei diferentes opções: ```kotlin // Opção 1 val user = User("", 0, "") user.name = "Ivan" user.age = 25 user.email = "ivan@mail.ru" println(user) // Opção 2 val user = User("", 0, "").apply { name = "Ivan" age = 25 email = "ivan@mail.ru" } println(user) ``` Parece que apply funciona, mas quando preciso retornar um resultado...