Rust:以F弦风格拥抱Pythonic天赋!
#python #rust #print #fstring

在Rust中,没有内置的宏可以直接复制Python的F-strings的确切功能,在此您可以在字符串本身内的卷曲括号内使用变量名称。但是,您可以定义自己的宏以获得类似的结果。

这是一个示例:

macro_rules! f_string {
    ($($tokens:tt)*) => {
        format!($($tokens)*)
    };
}

fn main() {
    let my_name = "Santee";
    let message = f_string!("{my_name} is cool");
    println!("{}", message);
}

在此示例中,我们定义了一个称为f_string的自定义宏,该宏可将任何令牌拿走并直接传递给格式!宏。然后,format!宏基于提供的令牌执行字符串插值。

您可以使用f_string宏来实现类似于python的f-strings的语法,在该语法中,您将变量名称封闭在字符串中的卷曲括号中。但是,请注意,与Python相比,Rust的宏系统具有不同的语法和功能,因此所产生的宏可能无法提供与Python的F-strings相同的所有功能或灵活性。