Quelle est la différence entre const et val en Kotlin ? Quand utiliser quoi ?
Bonjour ! J'ai commencé à apprendre Kotlin et je n'arrive pas à comprendre la différence entre `const` et `val`. Apparemment, les deux déclarent des valeurs immuables, mais le compilateur se plaint quand j'essaie d'utiliser `const` à l'intérieur d'une fonction ou avec certaines expressions.
Voici un exemple qui me trouble :
```kotlin
// Ça fonctionne
val name = "John"
val currentTime = System.currentTimeMillis()
// Mais ça ne fonctionne pas - erreur de compilation
const val name2 = "John"
const val currentTime2 = System.currentTimeMillis() // Erreur !
```
Pourquoi `const val currentTime2` ne se compile-t-il pas ? Pourtant, `val` est aussi immuable. Et j'ai aussi remarqué que `const` ne peut être utilisé qu'au niveau du fichier ou à l'intérieur d'un `object`, alors que `val` peut être utilisé n'importe où. Quelle est la différence profonde ici ? Quand faut-il utiliser `const` et quand simplement `val` ?
Expliquez-moi, s'il vous plaît, avec des exemples. Je vous en serais très reconnaissant !
<<>>
La différence principale : le moment de l'évaluation et la méthode de stockage
const et val créent tous deux des valeurs immuables (