地区网站建设服务周到,官方网站如何建立,做网站交互效果用什么软件,钦州电商网站建设关于条件编译#xff0c;我的记忆是10多年前#xff0c;写C#的时代了#xff0c;最近10年写Python和Javascript代码#xff0c;虽然Javascript中也可以通过插件实现条件编译的效果#xff0c;但是用起来太憋足了。当我在Yew的SSR开发模式中看到条件编译的配置时#xff0…关于条件编译我的记忆是10多年前写C#的时代了最近10年写Python和Javascript代码虽然Javascript中也可以通过插件实现条件编译的效果但是用起来太憋足了。当我在Yew的SSR开发模式中看到条件编译的配置时倍感亲切。 我记忆深刻的条件编译是当时写的一段C#代码给一个函数加上了Debug模式的条件编译然后导致了生产环境的一个报错。具体细节忘记了现在想起来有点不可思议。
#[cfg(feature ssr)]
async fn post_data(data: EditorData) - String {...
}在上面的配置中只有当Cargo.toml中的[features]中包含了ssrpost_data这个函数才会被编译进来。另外运行cargo clippy命令时也需要加上--featuresssr否则会报找不到post_data这个函数的错误。完整命令如下
cargo clippy --featuresssr关于features我在之前的[2023.09.11]: Yew的SSR中的Cargo.toml配置里面有提到。
Rust的条件编译显然比我10多年前了解的C#里面的条件编译要丰富当然估计现在C#里面的条件编译变得很强了。大家可以参考官方文档。 我在这里只调我感兴趣的一个例子来说一下这也是来源于我10年前的痛苦回忆。
// This function is only included when either foo or bar is defined
#[cfg(any(foo, bar))]
fn needs_foo_or_bar() {// ...
}今天的分享就到这里关于条件编译的问题大家可以在评论区留言讨论。