Quelle est la différence entre const et val en Kotlin ? Explication détaillée pour les débutants
Bonjour à tous ! J'ai récemment commencé à apprendre Kotlin et je suis confronté à une confusion. Dans le code d'autres développeurs, je vois deux mots-clés similaires : `const` et `val`. À première vue, ils font la même chose — déclarer une variable immuable. Mais je sens qu'il y a une différence entre eux, sinon pourquoi les deux existeraient-ils ?
Voici un exemple qui me trouble :
```kotlin
val pi = 3.14159
const val PI = 3.14159
```
Je comprends que les deux options ne me permettront pas de modifier la valeur après l'initialisation. Mais alors pourquoi dans un cas j'écris `const val`, et dans l'autre simplement `val` ? Le compilateur râle si j'essaie d'utiliser `const` à l'intérieur d'une fonction. Pourquoi cela ?
J'ai aussi remarqué que `const` ne peut être utilisé qu'avec des types primitifs et des chaînes de caractères. Alors que `val` fonctionne avec n'importe quels objets. Mais à quoi sert alors `const`, si `val` fait exactement la même chose ?
Expliquez-moi, s'il vous plaît, simplement en quoi ils diffèrent et dans quelles situations utiliser quoi. Je suis particulièrement intéressé par l'impact sur les performances.
No answers yet.
Connectez-vous pour laisser une réponse
Blogs