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();Runprintln! 仅用于程序的主要输出。请改用 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