Avatar ·

Quelle est la différence entre les variables immuables et les constantes en Rust ?

Bonjour ! J'ai commencé à apprendre Rust et je suis confus au sujet d'un concept fondamental. La documentation dit que les variables sont immuables par défaut, et qu'il faut utiliser `mut` pour les modifier. Mais il y a aussi le mot-clé `const`. Quelle est la différence entre eux ? J'ai essayé d'écrire ce code : ```rust const MAX_POINTS: u32 = 100_000; let x = 5; x = 6; // Erreur ! ``` Et apparemment, ni `MAX_POINTS` ni `x` ne peuvent être modifiés après l'initialisation. Mais le compilateur se plaint pour `x = 6`, pas pour la constante. Pourquoi ? Et si je peux déclarer une variable immuable avec `let`, pourquoi ai-je besoin de constantes ? Dans quels cas utiliser `const` et dans quels cas utiliser `let` ? J'ai aussi remarqué que les constantes doivent toujours être annotées avec un type, alors que les variables pas toujours. Est-ce lié à leur nature ? Je serais reconnaissant pour une explication détaillée avec des exemples, pour enfin comprendre ce sujet une fois pour toutes. <<>>

Différences clés entre const et les variables immuables let