在编译时评估配置标志的布尔组合。
除了 #[cfg]
属性,还提供了此宏,以允许对配置标志进行布尔表达式评估。
这通常会减少重复的代码。
该宏的语法与 cfg
属性的语法相同。
cfg!
, 与 #[cfg]
不同,它不会删除任何代码,只会计算为 true 或 false。
例如,当将 cfg!
用作条件时,无论 cfg!
正在评估什么,if/else 表达式中的所有块都必须有效。
let my_directory = if cfg!(windows) {
"windows-specific-directory"
} else {
"unix-directory"
};
Run