# 2020-04-20 | Kotlin | Fonctions d'extension ###### tags: `kotlin` `android` `gobelins` ## To know Utiliser mot clé "fun" Ajouter le nom de classe d'extension : "Class.myFunction" ## Pro tips alt + j => séléctionner toute les occurences ## Exemple ``` fun String.sayHello():String { val retour = "$this - Hello world" return retour } val part1 = "Bonjour" println(part1.sayHello()) ``` Retourne : ``` Bonjour - Hello world ``` ## Exercice Créer une fonction d'extension sur une liste d'étudiants qui inversera le nom et le prenom de chaque etudiant de la liste. ``` etudiants.forEach { println(it.fullName()) } // Fonctionne mais pas propre /**fun Etudiant.switchNames() { var first = this.first var last = this.last this.first = last this.last = first println(this.fullName()); }*/ // Bien mais dans mon cas ne fonctionne pas.... fun Etudiant.switch() = copy(first = last, last = first) // Sur une liste fun List<Etudiant>.switch() = forEach { it.switch() } etudiants.switch() etudiants.forEach { println(it.fullName()) } ```