Skip to content

Rust 输出到命令行

在 Rust 中,输出到命令行是一个基本操作。本章节将介绍如何在 Rust 中输出信息到命令行。

基本输出

在 Rust 中,最常用的输出函数是 println! 宏,它会在输出后添加换行符:

rust
fn main() {
    println!("Hello, Rust!");
}

运行结果:

Hello, Rust!

格式化输出

println! 宏支持格式化输出,类似于 C 语言的 printf 函数:

基本类型格式化

rust
fn main() {
    // 整数
    let x = 42;
    println!("整数: {}", x);
    
    // 浮点数
    let y = 3.14;
    println!("浮点数: {}", y);
    
    // 布尔值
    let z = true;
    println!("布尔值: {}", z);
    
    // 字符串
    let s = "Hello";
    println!("字符串: {}", s);
}

格式化选项

rust
fn main() {
    // 位置参数
    println!("{} {} {}", 1, 2, 3);
    
    // 命名参数
    println!("{a} {b} {c}", a=1, b=2, c=3);
    
    // 格式化数字
    println!("十进制: {}", 42);
    println!("十六进制: {:x}", 42);
    println!("八进制: {:o}", 42);
    println!("二进制: {:b}", 42);
    
    // 格式化浮点数
    println!("默认: {}", 3.1415926);
    println!("保留2位小数: {:.2}", 3.1415926);
    println!("科学计数法: {:e}", 3.1415926);
    
    // 格式化宽度
    println!("右对齐: {:5}", 42);
    println!("左对齐: {:<5}", 42);
    println!("居中对齐: {:^5}", 42);
    
    // 填充
    println!("填充0: {:05}", 42);
}

其他输出函数

print! 宏与 println! 类似,但不会在输出后添加换行符:

rust
fn main() {
    print!("Hello, ");
    print!("Rust!");
}

运行结果:

Hello, Rust!

eprintln! 宏

eprintln! 宏用于输出错误信息到标准错误流:

rust
fn main() {
    println!("这是正常输出");
    eprintln!("这是错误输出");
}

调试输出

在开发过程中,我们经常需要输出变量的值进行调试。Rust 提供了 dbg! 宏,它会输出变量的名称、值以及所在的文件和行号:

rust
fn main() {
    let x = 42;
    let y = 3.14;
    
    dbg!(x);
    dbg!(y);
    dbg!(x + y as i32);
}

运行结果:

[src/main.rs:5] x = 42
[src/main.rs:6] y = 3.14
[src/main.rs:7] x + y as i32 = 45

读取用户输入

要读取用户输入,可以使用 std::io 模块:

rust
use std::io;

fn main() {
    println!("请输入你的名字:");
    
    let mut name = String::new();
    io::stdin().read_line(&mut name).expect("读取输入失败");
    
    println!("你好,{}!", name.trim());
}

总结

  • println! 宏用于输出并添加换行符
  • print! 宏用于输出但不添加换行符
  • eprintln! 宏用于输出错误信息
  • dbg! 宏用于调试输出
  • 可以使用格式化占位符来自定义输出格式
  • 可以使用 std::io 模块读取用户输入

通过本章节的学习,你应该已经掌握了 Rust 中输出到命令行的基本方法,可以在你的程序中使用这些方法来输出信息了。