Avatar ·

Que signifie `return@` en Kotlin et comment utiliser correctement les étiquettes de retour ?

Bonjour à tous ! J'apprends Kotlin et je suis tombé sur une construction étrange `return@`. Je la vois dans du code avec RxJava, mais je ne comprends pas à quoi elle sert. J'ai ce code : ```kotlin fun main() { listOf(1, 2, 3, 4, 5).forEach { if (it == 3) { return@forEach } println(it) } println("Prêt") } ``` Je m'attendais à ce que `return` sorte simplement de forEach, mais il sort de toute la fonction main. Sans `@forEach`, le code ne compile même pas avec l'erreur "return is not allowed here". Pourquoi ? J'ai aussi vu cet exemple avec RxJava : ```kotlin observable.subscribe { value -> if (value.isInvalid()) { return@subscribe } process(value) } ``` Que signifie `return@subscribe` ? Pourquoi ne peut-on pas simplement écrire `return` ? Expliquez-moi, s'il vous plaît.