Константа OS
Константа OS из модуля std::env содержит
строку с именем операционной системы, для которой
была скомпилирована текущая программа. Значение
определяется во время компиляции и не может быть
изменено во время выполнения. Константа не принимает
параметров и всегда возвращает значение типа &str.
Возможные значения включают "linux",
"windows", "macos", "ios",
"android", "freebsd" и другие. Точное
значение зависит от целевой платформы, для которой
выполняется компиляция.
Синтаксис
std::env::OS
Также можно использовать сокращённый импорт:
use std::env::OS;
OS
Пример
Давайте выведем имя операционной системы, для которой была скомпилирована программа:
use std::env::OS;
fn main()
{
println!("{}", OS);
}
Результат выполнения кода (на Linux):
"linux"
Пример
Давайте проверим, под какой операционной системой запущена программа, и выведем соответствующее сообщение:
use std::env::OS;
fn main()
{
if OS == "linux" {
println!("Running on Linux");
} else if OS == "windows" {
println!("Running on Windows");
} else {
println!("Running on {}", OS);
}
}
Результат выполнения кода (на Windows):
"Running on Windows"
Пример
Давайте сравним константу OS с другими
платформенными константами и выведем их все вместе:
use std::env::{OS, ARCH, FAMILY};
fn main()
{
println!("OS: {}", OS);
println!("ARCH: {}", ARCH);
println!("FAMILY: {}", FAMILY);
}
Результат выполнения кода (на macOS):
"OS: macos"
"ARCH: x86_64"
"FAMILY: unix"
Смотрите также
-
константа
ARCH,
которая содержит архитектуру процессора -
константа
FAMILY,
которая содержит семейство операционной системы -
константа
EXE_EXTENSION,
которая содержит расширение исполняемых файлов -
функция
current_exe,
которая возвращает путь к текущему исполняемому файлу