- Published on
How to Write a Rust Program to Print Hello World
6 min read
- Authors
- Name
- Mohsin Mukhtiar
- @justmohsin_

Table of Contents
- How to Write a Rust Program to Print Hello World
- Prerequisites
- Method 1: Simple Print Statement
- How it works:
- Method 2: Using Variables
- Explanation:
- Method 3: Multiple Print Statements
- Method 4: Using Different Print Macros
- Method 5: Formatted Output
- Creating and Running Your Program
- Step 1: Create a new Rust project
- Step 2: Edit the main.rs file
- Step 3: Run the program
- Complete Example Program
- Best Practices
- Common Errors and Solutions
- Error: "expected ;"
- Error: "format argument must be a string literal"
- Conclusion
- Next Steps
How to Write a Rust Program to Print Hello World
If you're new to Rust programming, one of the first things you'll want to learn is how to display text on the console. In this tutorial, we'll explore different ways to write a Rust program that prints "Hello World" to the terminal.
Prerequisites
Before we start, make sure you have:
- Rust installed on your system (visit rustup.rs to install)
- A text editor or IDE
- Basic understanding of programming concepts
Method 1: Simple Print Statement
The most straightforward way to print "Hello World" in Rust is using the println!
macro.
fn main() {
println!("Hello World");
}
How it works:
fn main()
is the entry point of every Rust programprintln!
is a macro (note the exclamation mark) that prints text to the console- The text "Hello World" is wrapped in double quotes as a string literal
Method 2: Using Variables
You can also store the text in a variable before printing it:
fn main() {
let message = "Hello World";
println!("{}", message);
}
Explanation:
let message = "Hello World";
creates a string variable{}
is a placeholder for the variable in the print statement- This approach is useful when you want to reuse the text or make it dynamic
Method 3: Multiple Print Statements
If you want to print "Hello World" multiple times or with additional text:
fn main() {
println!("Welcome to Rust programming!");
println!("Hello World");
println!("Learning {} is fun!", "Rust");
}
Output:
Welcome to Rust programming!
Hello World
Learning Rust is fun!
Method 4: Using Different Print Macros
Rust provides several printing macros:
fn main() {
// Print with newline
println!("Hello World");
// Print without newline
print!("Hello ");
print!("World!\n");
// Print to stderr
eprintln!("Debug: Hello World printed successfully");
}
Method 5: Formatted Output
You can format the output in various ways:
fn main() {
let greeting = "Hello";
let target = "World";
// Basic formatting
println!("Message: {} {}", greeting, target);
// Multiple variables
println!("{} {} from Rust!", greeting, target);
// Named parameters
println!("{greet} {tgt}!", greet = greeting, tgt = target);
// Padding and alignment
println!("{:>15}", "Hello World"); // Right-aligned
println!("{:<15}", "Hello World"); // Left-aligned
println!("{:^15}", "Hello World"); // Center-aligned
}
Creating and Running Your Program
Step 1: Create a new Rust project
cargo new hello_world
cd hello_world
Step 2: Edit the main.rs file
Open src/main.rs
and replace the content with any of the examples above.
Step 3: Run the program
cargo run
Complete Example Program
Here's a complete example that demonstrates various ways to print "Hello World":
fn main() {
// Simple print
println!("=== Simple Print ===");
println!("Hello World");
// Using variables
println!("\n=== Using Variables ===");
let greeting = "Hello World";
println!("Message: {}", greeting);
// Different greetings
println!("\n=== Different Greetings ===");
let greetings = vec!["Hello World", "Hi World", "Hey World", "Greetings World"];
for greeting in greetings {
if greeting == "Hello World" {
println!("-> {} (classic greeting)", greeting);
} else {
println!(" {}", greeting);
}
}
// Fun facts about Hello World
println!("\n=== Hello World Facts ===");
println!("Did you know?");
println!("- 'Hello World' is traditionally the first program written when learning a new language");
println!("- It demonstrates basic syntax and output functionality");
println!("- The tradition dates back to the 1970s with the C programming language");
}
Best Practices
When printing text in Rust, keep these tips in mind:
- Use
println!
for most cases - it automatically adds a newline - Use string formatting for complex output rather than concatenation
- Store reusable text in variables to avoid repetition
- Use
eprintln!
for error messages to print to stderr - Consider performance - for high-frequency printing,
print!
might be better thanprintln!
Common Errors and Solutions
;
"
Error: "expected // Wrong
fn main() {
println!("Hello World") // Missing semicolon
}
// Correct
fn main() {
println!("Hello World");
}
Error: "format argument must be a string literal"
// Wrong
let text = "Hello World";
println!(text);
// Correct
let text = "Hello World";
println!("{}", text);
Conclusion
Printing "Hello World" in Rust is straightforward using the println!
macro. As you can see, Rust provides flexible options for text output, from simple prints to complex formatted strings.
The key takeaway is that Rust's printing system is both powerful and safe, giving you control over how your text appears while preventing common programming errors at compile time.
Now you're ready to start printing text in your Rust programs! Try experimenting with different formatting options and see what works best for your projects.
Next Steps
- Learn about Rust's ownership system
- Explore Rust's type system
- Try building more complex programs
- Read the official Rust Book
Happy coding in Rust!