- Rust Programming Cookbook
- Claus Matzinger
- 417字
- 2021-06-24 12:27:41
How to do it...
In just five steps, we will explore command line I/O and formatting:
- Open a Terminal window (PowerShell on Windows) and run the cargo new hello-world command, which creates a new Rust project in a hello-world folder.
- Once created, change into the directory with cd hello-world and open src/main.rs with a Visual Studio Code. The default code generated by cargo looks like this:
fn main() {
println!("Hello, world!");
}
- Let's expand it! These are variations on the preceding traditional print statement, showing some formatting options, parameters, and writing on streams, among other things. Let's start with some common prints (and imports):
use std::io::{self, Write};
use std::f64;
fn main() {
println!("Let's print some lines:");
println!();
println!("Hello, world!");
println!("{}, {}!", "Hello", "world");
print!("Hello, ");
println!("world!");
However, we can do much more complex argument combinations:
println!("Arguments can be referred to by their position: {0},
{1}! and {1}, {0}! are built from the same arguments", "Hello",
"world");
println!("Furthermore the arguments can be named: \"{greeting},
{object}!\"", greeting = "Hello", object = "World");
println!("Number formatting: Pi is {0:.3} or {0:.0} for short",
f64::consts::PI);
println!("... and there is more: {0:>0width$}={0:>width$}=
{0:#x}", 1535, width = 5);
let _ = write!(&mut io::stdout(), "Underneath, it's all writing
to a stream...");
println!();
println!("Write something!");
let mut input = String::new();
if let Ok(n) = io::stdin().read_line(&mut input) {
println!("You wrote: {} ({} bytes) ", input, n);
}
else {
eprintln!("There was an error :(");
}
}
This should provide several variations of reading and writing to the console.
- Go back to Terminal and navigate to the directory where Cargo.toml is located.
- Use cargo run to see the snippet's output:
$ cargo run
Compiling hello-world v0.1.0 (/tmp/hello-world)
Finished dev [unoptimized + debuginfo] target(s) in 0.37s
Running 'target/debug/hello-world'
Let's print some lines:
Hello, world!
Hello, world!
Hello, world!
Arguments can be referred to by their position: Hello, world! and world, Hello! are built from the same arguments
Furthermore the arguments can be named: "Hello, World!"
Number formatting: Pi is 3.142 or 3 for short
... and there is more: 01535= 1535=0x5ff
Underneath, it's all writing to a stream...
Write something!
Hello, world!
You wrote: Hello, world!
(14 bytes)
Each line in the output represents a way to print text to the console! We recommend playing with the variations and seeing how it changes the result. On a side note, rustc will check for the correct number of arguments in any println!() or format!() call.
Now, let's go behind the scenes to understand the code better.
推薦閱讀
- 軟件項目估算
- Maven Build Customization
- 樂學(xué)Web編程:網(wǎng)站制作不神秘
- 編寫高質(zhì)量代碼:改善Python程序的91個建議
- Spring Boot+Spring Cloud+Vue+Element項目實戰(zhàn):手把手教你開發(fā)權(quán)限管理系統(tǒng)
- Hands-On C++ Game Animation Programming
- 高級C/C++編譯技術(shù)(典藏版)
- 劍指Java:核心原理與應(yīng)用實踐
- 計算機(jī)應(yīng)用基礎(chǔ)案例教程
- HoloLens與混合現(xiàn)實開發(fā)
- Microsoft 365 Certified Fundamentals MS-900 Exam Guide
- Hadoop 2.X HDFS源碼剖析
- Python從入門到精通(第3版)
- Webpack實戰(zhàn):入門、進(jìn)階與調(diào)優(yōu)(第2版)
- 小程序從0到1:微信全棧工程師一本通