用实例学习 Rust——不是每个 println 都如此强大

用实例学习 Rust——不是每个 println 都如此强大今天我们来学习下 Rust 中的命令行打印 单独导入 Write 占位符中调用变量的方式为 width 和命名参数不同

欢迎大家来到IT世界,在知识的湖畔探索吧!

用实例学习 Rust——不是每个 println 都如此强大



欢迎大家来到IT世界,在知识的湖畔探索吧!

今天我们来学习下 Rust 中的命令行打印。代码如下:注释的标号和下面的解释对应。

use std::f64; // 1 use std::io::{self, Write}; // 2 fn main() { println!("打印空行"); // 3 println!(); println!("Hello, world!"); println!("{}, {}!", "Hello", "world"); // 4 print!("Hello, "); // 5 println!("world!"); println!( "参数顺序排列: {0}, {1}! 参数逆序排列: {1}, {0}! ", "Hello", "world" ); // 6 println!( "参数也是可以有名字的: \"{aaa}, {bbb}!\"", aaa = "Hello", bbb = "World" ); // 7 println!( "数字格式化Pi。保留小数点三位: {0:.3},没有小数点:{0:.0}", f64::consts::PI ); // 8 println!( "前导位补零:{0:>0width$}。前导位补空格:{0:>width$}。显示16进制:{0:#x}", 1111, width = 10 ); // 9 let _ = write!(&mut io::stdout(), "写到系统标准输出流"); // 10 println!(); println!("请输入:"); let mut input = String::new(); if let Ok(n) = io::stdin().read_line(&mut input) { // 11 println!("你输入的是:{}(包含{}个字节)", input, n); } else { eprintln!("如果有错将会打印这句话"); // 12 } }

欢迎大家来到IT世界,在知识的湖畔探索吧!

  1. Rust 中导入包的方法。这个包中有后面用到的 PI
  2. 系统标准输出流。单独导入 Write (可类比为其他语言中的接口)。
  3. println!(注意结尾的叹号)。作用和其他语言中的 println 一样,打印并换行。但在 Rust 中这叫做宏。凡是结尾带叹号的调用都是调用宏。
  4. {} 表示占位符,具体值由后面的参数按顺序提供。
  5. 打印不换行。
  6. 占位符中加入数字表示后面提供的要输出的值的顺序,从零开始计数。
  7. 参数还可以有名字,也就是命名参数。在占位符中使用变量名来使用参数。
  8. 占位符中格式化数字的方法。
  9. (模板字符串,数字,宽度变量)这种模式就可以实现数字的补零、补空格以及进制转换显示。占位符中调用变量的方式为 width$ 和命名参数不同。
  10. 使用系统本身的输出流进行打印。
  11. 使用系统本身的输入流进行等待用户的输入。输入完回车后打印输入内容和字节数。
  12. eprintln! 宏和 println! 一样,但底层使用的是系统标准错误流。io::stderr

如有任何问题,请添加微信公众号“读一读我”

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/144933.html

(0)
上一篇 1天前
下一篇 1天前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信