gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 07:56:29 27 4
gpt4 key购买 nike

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

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

这是一个不可用的关联函数! - 我想弄清楚我想做什么。我已经浏览了该文档,但找不到任何字符串生成器函数或类似的东西。

最佳答案

使用 format! macro :

fn hello_world(name: Option<&str>) -> String {
match name {
Some(n) => format!("Hello, World {n}"),
None => format!("Who are you?"),
}
}

在 Rust 中,格式化字符串使用宏系统,因为格式参数在编译时进行类型检查,这是通过过程宏实现的。

您的代码还有其他问题:

  1. 您没有指定要为 None 做什么 - 您不能只是“失败”以返回值。
  2. if 的语法不正确,您希望 if let 进行模式匹配。
  3. 从风格上讲,您希望在 block 末尾使用隐式返回。
  4. 许多(但不是全部)情况下,您希望接受&str 而不是String

另见:

关于string - 如何从 Rust 中的文字创建格式化字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37777675/

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