C
C++
C#
Dart
F#
JavaScript
Kotlin
Rust
Можно определять константы внутри и вне функции
const int number1 = 1; // константа вне функции int main(void) { const int number2 = 2; // константа внутри функции }
Можно определять константы внутри и вне функции
const int number1 {1}; // константа вне функции int main() { const int number2 {2}; // константа внутри функции }
Можно определять константы на уровне класса и метода
class Program { const int number1 = 1; // константа уровня класса static void Main(string[] args) { const int number2 = 2; // константа уровня метода Console.WriteLine(number2); } }
Можно определять константы внутри и вне функции
const int number1 = 1; // константа, вычисляемая на этапе компиляции final int number2 = 2; // константа, вычисляемая на этапе выполнения
В F# по умолчанию значения являются неизменяемыми:
let number = 123;
Можно определять константы внутри и вне блока кода (функции)
const number = 123;
Для создания полностью константных объектов (свойства которых нельзя изменить) применяется функция Object.freeze():
const person = {name: "Tom", age: 37}; Object.freeze(person); person.name= "Bob"; console.log(person.name); // Tom - значение свойства не изменилось
Можно определять константы только вне функции
const val number = 1 fun main() { println(number) }
Можно определять константы на уровне блока кода (например, функции) и в глобальной области видимости:
const NUMBER1: i32 = 1; // глобальная константа fn main(){ const NUMBER2: i32 = 2; // константа уровня функции println!("NUMBER1 = {}", NUMBER1); println!("NUMBER2 = {}", NUMBER2); }