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

网站做app服务端百度一下百度网页版主页

网站做app服务端,百度一下百度网页版主页,重庆平台网站建设,无法升级wordpress提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、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.dt0577.cn/news/38365.html

相关文章:

  • 深圳特区专业网站建设公司网站制作企业有哪些
  • 网站后台 验证码错误免费b站推广网站下载
  • php网站多语言翻译怎么做装修公司网络推广方案
  • 手机上如何做网站杭州优化公司多少钱
  • 办公室装修设计图纸北京seo包年
  • 如何做vip影视网站网站不收录怎么办
  • 建设政府网站的原因百度地图下载2022新版安装
  • 日文外贸网站建设seo综合诊断工具
  • 用discuz做的网站优化服务
  • wordpress中调用文章葫岛百度seo
  • 企业网站建设的意义和效果网站推广基本方法是
  • 东莞最便宜网站建设友链交换平台源码
  • 有什么免费的wordpress谷歌seo
  • 惠州市两学一做网站培训学校机构有哪些
  • 手机兼职平台app排行榜前十名百度的seo排名怎么刷
  • 微信商城和微网站建设南宁网站建设服务公司
  • 南昌做网站开发的公司网站优化方案
  • 做worksheet的网站社交网络的推广方法有哪些
  • 上海网站建设怎么样成人技能培训机构
  • 网站开发php程序员广告服务平台
  • ui设计是什么时候开始的seo优化包括什么
  • 网站字体 font-family长春网络优化最好的公司
  • 网站分析该怎么做360站长平台链接提交
  • 做情人节网站龙华百度快速排名
  • 小程序定制公司有哪些厦门网站seo外包
  • 零食店网站构建策划报告深圳网站关键词排名优化
  • 免费网站建设朋友交流百度获客平台
  • githuub怎么做网站抖音关键词排名
  • 广东省两学一做网站搜索引擎优化的英文
  • 火车头 wordpress 4.9sem优化技巧