gpt4 book ai didi

rust - 如何格式化这样的字符串?

转载 作者:行者123 更新时间:2023-12-03 11:32:17 27 4
gpt4 key购买 nike

static TEST: &str = "test: {}";

fn main() {
let string = format!(TEST, "OK");
println!("{}", string);
}

我想构造字符串“test: OK”,但这不起作用。我该怎么做?

最佳答案

format! 宏需要在编译时知道实际的格式字符串。这不包括使用变量和 static,但也不包括 const(在编译时知道,但在比宏扩展更晚的编译阶段)。

但是在这种特定情况下,您可以通过使用另一个宏模拟变量来解决您的问题:

macro_rules! test_fmt_str {
() => {
"test: {}"
}
}

fn main() {
let string = format!(test_fmt_str!(), "OK");
println!("{}", string);
}

( Permalink to the playground )

如果您的格式字符串在编译时实际上并不知道并且不能在这样的宏中使用,那么您需要 use a dynamic template engine .

关于rust - 如何格式化这样的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61406129/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com