Macro std::println

1.0.0 · source ·
macro_rules! println {
    () => { ... };
    ($($arg:tt)*) => { ... };
}
Expand description

使用换行符打印到标准输出。

在所有平台上,新行是一个换行符 (也就是 \n/U+000A),并不包含回车符 (也就是 \r/U+000D)。

此宏使用与 format! 相同的语法,但改为写入标准输出。 有关详细信息,请参见 std::fmt

println! 宏将锁定每个调用的标准输出。 如果您在热循环内调用 println!,则此行为可能是循环的瓶颈。 为了避免这种情况,用 io::stdout().lock() 锁定 stdout:

use std::io::{stdout, Write};

let mut lock = stdout().lock();
writeln!(lock, "hello world").unwrap();
Run

println! 仅用于程序的主要输出。请改用 eprintln! 打印错误和进度消息。

Panics

如果写入 io::stdout 失败,就会出现 panics。

写入非阻塞 stdout 可能会导致错误,这将导致此宏 panic。

Examples

println!(); // 只打印换行符
println!("hello there!");
println!("format {} arguments", "some");
let local_variable = "some";
println!("format {local_variable} arguments");
Run