如何在Rust中从文字中创建格式化的字符串?

时间:2016-06-12 18:26:13

标签: string formatting rust string-literals

我将根据给定的参数返回一个字符串。

fn hello_world(name:Option<String>) -> String {
    if Some(name) {
        return String::formatted("Hello, World {}", name);
    }
}

这是一个无法使用的相关功能! - 我想说明我想做什么。我已经浏览了文档,但无法找到任何字符串构建器功能或类似的东西。

1 个答案:

答案 0 :(得分:5)

使用format! macro

<select class="form-control" id="asd" onchange="foo()">

在Rust中,格式化字符串使用宏系统,因为格式参数在编译时是typechecked,它是通过过程宏实现的。

您的代码还有其他问题:

  1. 您没有指定为fn hello_world(name: Option<&str>) -> String { match name { Some(n) => format!("Hello, World {}", n), None => format!("Who are you?"), } } 做什么 - 您不能只是“失败”返回一个值。
  2. None的语法不正确,您希望if模式匹配。
  3. 从风格上讲,你想在块的末尾使用隐式返回。
  4. 许多(但不是全部)案例中,您希望接受if let而不是&str