# 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())
}
```