Interpolating a string

Rust:
Interpolating a string

How to:

In Rust, we use the format! macro:

fn main() {
    let name = "Ferris";
    let greeting = format!("Hello, {}!", name);
    println!("{}", greeting); // Prints "Hello, Ferris!"
}

The format! macro works like println!, but it returns the formatted string instead of printing it.

Deep Dive

Rust chose macros like format! for string interpolation over in-language syntax. Why? Macros are powerful and flexible—extending language functionality without complex syntax.

Historically, languages like C used functions like sprintf, clunky and error-prone. Rust’s format! macro is safer, preventing common mistakes.

Alternatives exist, like concatenating with + or the format_args! macro for avoiding heap allocation. But when it comes to ease and clarity, format! is king.

Performance note: format! allocates memory. For performance-critical code, consider other methods, like writing directly to a buffer.

See Also