Ключевое слово static
Ключевое слово static объявляет глобальную переменную,
которая существует на протяжении всей работы программы
и имеет время жизни 'static. Такая переменная
размещается в статической области памяти и доступна
из любой точки программы, где она видима. По умолчанию
статическая переменная неизменяема, но её можно сделать
изменяемой с помощью ключевого слова mut.
При объявлении static можно указывать тип,
а также инициализировать значение константным выражением.
Синтаксис
static NAME: Type = value;
static mut NAME: Type = value;
Пример
Объявим неизменяемую статическую переменную с числом и выведем её значение:
static MAX: i32 = 100;
fn main()
{
println!("{}", MAX);
}
Результат выполнения кода:
100
Пример
Объявим статическую переменную со строковым срезом и используем её в функции:
static GREETING: &str = "abcde";
fn main()
{
println!("{}", GREETING);
}
Результат выполнения кода:
"abcde"
Пример
Объявим изменяемую статическую переменную и изменим её значение внутри небезопасного блока:
static mut COUNTER: i32 = 0;
fn main()
{
unsafe
{
COUNTER += 5;
println!("{}", COUNTER);
}
}
Результат выполнения кода:
5