8 个版本
0.2.7 | 2024年6月18日 |
---|---|
0.2.6 | 2023年2月12日 |
0.2.5 | 2023年1月27日 |
0.2.3 | 2022年6月13日 |
0.2.0 | 2021年6月26日 |
#429 in Rust 模式
12KB
189 行
cfg-iif
用于定义 #[cfg]
if-else
函数的宏。
该 crate 提供的宏。与 cfg_if
不同,cfg_iif
可以用作函数,并可以在函数中使用。
特性
- 最低支持 rustc 1.56.1 (59eed8a2a 2021-11-01)
示例
示例 1: #[cfg()]
a_iif
在编译时操作系统为 Unix 时为 "unix"
use cfg_iif::cfg_iif;
let a_iif = cfg_iif!(#[cfg(Unix)] { "unix" } else { "not unix" });
a_iif
在编译时特性为 "has_abc" 时为 "abc"
use cfg_iif::cfg_iif;
let a_iif = cfg_iif!(#[cfg(feature = "has_abc")] { "abc" } else { "not abc" });
a_iif
在编译时特性为 "has_abc" 时为 "abc"
use cfg_iif::cfg_iif;
let mut a_iif = "";
cfg_iif!(
#[cfg(feature = "has_abc")]
{
a_iif = "abc";
}
);
示例 2: 简化的 cargo fmt
a_iif
在编译时特性为 "has_abc" 时为 "abc"
use cfg_iif::cfg_iif;
let a_iif = cfg_iif!(feature = "has_abc" { "abc" } else { "not abc" });
a_iif
在编译时特性为 "has_abc" 时为 "abc"
use cfg_iif::cfg_iif;
let mut a_iif = "";
cfg_iif!(feature = "has_abc" {
a_iif = "abc";
});
变更日志
许可证
此项目根据您的选择受以下其中一项许可证的约束
- Apache 许可证 2.0 版,(LICENSE-APACHE 或 https://apache.ac.cn/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 https://opensource.org/licenses/MIT)
。