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