S-JIS[2025-07-30] 変更履歴

Rust env!マクロ

Rustマクロのenv!マクロのメモ。


概要

env!マクロおよびoption_env!マクロは、コンパイル時に環境変数を読み込むマクロ
std::envモジュールのvar関数は、実行時に環境変数を読む関数)

env!マクロの戻り値の型は&strで、指定した環境変数が無い場合はコンパイルエラーになる。
option_env!マクロはOption<&str>なので、指定した環境変数が無い場合はNoneになる。

const PATH: &str = env!("PATH");
const ZZZ: Option<&str> = option_env!("ZZZ");

Cargo.tomlの値

Cargo.tomlに書かれている値の一部は、ビルド時に環境変数に設定されている。
なので、env!マクロを使って読み込むことが出来る。

例えば[package]のversionはCARGO_PKG_VERSIONで取得できる。

fn main() {
    let version = env!("CARGO_PKG_VERSION");
    println!("{}", version);
}

マクロへ戻る / Rustへ戻る / 技術メモへ戻る
メールの送信先:ひしだま