O que é um "receiver" (receptor) em Kotlin e para que ele serve?
Olá, colegas! Comecei a estudar Kotlin depois de Java e me deparei com o termo "receiver" (receptor). Leio a documentação e vejo coisas como `apply`, `let`, `run`, `with` — e em todos os lugares falam sobre receivers. Mas não consigo entender completamente o que é isso e como funciona.
Aqui está um exemplo simples. Escrevo este código:
```kotlin
data class Person(var name: String = "", var age: Int = 0)
fun main() {
val person = Person().apply {
name = "Alice" // Aqui acesso name diretamente, sem person.name
age = 30
}
println(person)
}
```
Entendo que dentro do bloco `apply` posso escrever `name = "Alice"`, em vez de `person.name = "Alice"`. Mas como isso funciona? O que significa "função com receiver"? É algum tipo de closure mágico? Ou é parecido com como `this` funciona em Java?
Parece que estou perdendo algum conceito fundamental. Vocês podem explicar de forma simples o que é um receiver em Kotlin, como ele difere de um argumento comum de função, e onde isso pode
No answers yet.
Faça login para deixar uma resposta
Blogs