当前位置: 首页 > news >正文

推荐坪地网站建设公司建网站多少钱

推荐坪地网站建设,公司建网站多少钱,手机app界面设计分析,永久免费虚拟主机申请提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、format! 宏二、fmt::Debug三、fmt::Display四、? 操作符 循环打印 前言 Rust学习系列-本文根据教程学习Rust的格式化输出,包括fmt::Debug&…

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、format! 宏
  • 二、fmt::Debug
  • 三、fmt::Display
  • 四、? 操作符 循环打印


前言

Rust学习系列-本文根据教程学习Rust的格式化输出,包括fmt::Debugfmt::Display等。


一、format! 宏

在 Rust 中,可以使用 format! 宏来进行格式化输出。这个宏类似于其他编程语言中的 printf 或者 sprintf 函数。

以下是一个简单的例子:

fn main() {let name = "Alice";let age = 25;let height = 165.5;let formatted = format!("Name: {}, Age: {}, Height: {:.2}", name, age, height);println!("{}", formatted);
}

这个例子中,我们使用了 format! 宏来创建一个格式化的字符串。在字符串中通过 {} 占位符来指定需要替换的值,并且可以使用 : 来指定格式化选项,比如使用 :.2 来保留小数点后两位。

然后我们使用 println! 宏来输出格式化后的字符串。

输出结果为:

Name: Alice, Age: 25, Height: 165.50

除了使用 format! 宏,还可以使用其他的格式化宏,比如 println!eprintln! 用于标准输出和标准错误输出。

二、fmt::Debug

rust fmt::Debug 是 Rust 标准库中的一个 trait,用于控制如何格式化数据类型的输出。它可以被任何实现了 std::fmt::Debug trait 的类型使用。

std::fmt::Debug trait 提供了一个 fmt 方法,该方法接受一个实现了 std::fmt::Debug trait 的数据类型,并将其格式化为一个字符串。可以使用 {} 占位符来表示要格式化的数据,并使用 :? 格式化符号来表示数据类型的 Debug 格式输出。

使用 std::fmt::Debug trait 的主要目的是为了调试目的,因为它提供了一个格式化的输出,可以使开发人员更容易地了解数据类型的内部结构和值。

下面是一个示例代码,展示了如何使用 std::fmt::Debug trait:

#[derive(Debug)]
struct Person {name: String,age: u32,
}fn main() {let person = Person {name: String::from("Alice"),age: 30,};println!("{:?}", person);// 美化输出println!("{:#?}",person);
}

在上面的示例中,Person 结构体实现了 std::fmt::Debug trait,并使用 #[derive(Debug)] 注解来自动实现它。在 main 函数中,我们创建了一个 Person 对象并使用 println! 宏来打印它。{:?} 是一个格式化占位符,它会调用 std::fmt::Debug trait 的 fmt 方法来打印 person 对象的 Debug 格式输出。

在这里插入图片描述

三、fmt::Display

在Rust中,fmt::Display是一个trait(特征),用于定义如何格式化类型的输出。该trait包含一个名为fmt的方法,它接受一个fmt::Formatter对象,并返回一个fmt::Result对象。

通过实现fmt::Display trait,你可以指定自定义类型的输出格式,以便在使用println!和format!宏时能够以预期的方式打印该类型的实例。例如:

use std::fmt;struct Point {x: i32,y: i32,
}impl fmt::Display for Point {fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {write!(f, "({}, {})", self.x, self.y)}
}fn main() {let p = Point { x: 1, y: 2 };println!("The point is {}", p); // 输出:The point is (1, 2)
}

在上面的例子中,我们为自定义的Point类型实现了fmt::Display trait。在fmt方法中,我们使用write!宏向Formatter对象f写入格式化的内容。

通过这种方式,你可以根据自定义类型的属性和需求,定义自己的输出格式。

在这里插入图片描述

四、? 操作符 循环打印

对一个结构体实现 fmt::Display,其中的元素需要一个接一个地处理到,这可能会很麻烦。问题在于每个 write! 都要生成一个 fmt::Result。正确的实现需要处理所有的 Result。Rust 专门为解决这个问题提供了 ? 操作符。
在这里插入图片描述


http://www.yayakq.cn/news/489318/

相关文章:

  • 十大免费文案网站无锡装修公司哪家口碑最好
  • 招聘类网站怎么做龙岩网址大全
  • 做百度网站电话号码做网站是咋收费的
  • wordpress图灵机器人seo站长之家
  • 现在流行的网站开发制作工具网站配色风格有哪些
  • 风铃建站模板爱建站小程序特点
  • 网站建设开票属于什么服务wordpress注明网站
  • 做信贷抢客户网站电子商务的推广
  • 济南怎么做网站网站建设内容模板下载
  • wordpress建站服务集团品牌网站建设
  • 南昌网站设计建设网页设计与网站建设考试热点
  • 权威的网站建设公司营销技巧和营销方法培训
  • h5网站网站建设如何推广一个品牌
  • 济南网站建设公司聊城做wap网站找谁
  • 网站建设审批表本地wordpress外网访问
  • 新加坡网站域名手机如何制作网站和网页
  • 珠海网站建设找哪家温州人才网站开发
  • 一级域名网站多少钱网页设计与制作作业代码
  • 如何建网站并做推广wordpress 多语言设置
  • 网站推广优势wordpress 替换域名
  • qq怎么做放资源的网站提供常州网站推广
  • 网站怎么定位唐山做网站汉狮网络
  • 建设网站哪家强手机 显示器自适应wordpress 主题
  • 网站建设费怎样摊销湛江网站建设湛江
  • 如何设计网站首页导航76款wordpress付费主题密码
  • 信息课做网站的软件长沙做软件的公司
  • 武昌做网站厦门工商网站查询企业信息
  • WordPress文章相册插件wordpress固定链接seo
  • 单页 网站模板域名网站模板
  • 字体图标网站黑彩网站充值就给你做单子