How to create a formatted String out of a literal in Rust?
16,166
Use the format!
macro:
fn hello_world(name: Option<&str>) -> String {
match name {
Some(n) => format!("Hello, World {}", n),
None => format!("Who are you?"),
}
}
In Rust, formatting strings uses the macro system because the format arguments are typechecked at compile time, which is implemented through a procedural macro.
There are other issues with your code:
- You don't specify what to do for a
None
- you can't just "fail" to return a value. - The syntax for
if
is incorrect, you wantif let
to pattern match. - Stylistically, you want to use implicit returns when it's at the end of the block.
- In many (but not all) cases, you want to accept a
&str
instead of aString
.
Author by
xetra11
Polymathy is my road to happiness, creativity my means of transport
Updated on July 24, 2022Comments
-
xetra11 almost 2 years
I'm about to return a string depending the given argument.
fn hello_world(name:Option<String>) -> String { if Some(name) { return String::formatted("Hello, World {}", name); } }
This is a not available associated function! - I wanted to make clear what I want to do. I browsed the doc already but couldn't find any string builder functions or something like that.