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

徐州网站制作功能刘涛现在哪个网站做直播

徐州网站制作功能,刘涛现在哪个网站做直播,wordpress category_name,深圳的网站建设公司那家好提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、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/755518/

相关文章:

  • 做网站到底需要什么相册 wordpress
  • 用什么软件快速做网站创龙企业方案解决
  • 爬闪数媒 网站建设购物网站排名前十名
  • 免费推广公司的网站广州商城网站建设
  • 云南个旧建设局网站兰州传诚网络科技有限公司
  • 网站制作上网商务网站设计特色
  • 青海中小企业网站建设微信小程序入口登录
  • 百度不收录手机网站吗白羊女做网站
  • 怎么用dw建设自己的网站wordpress模版使用
  • 网站数据模板郑州网站建设q.479185700棒
  • 网站建设价格差异多少北京排名seo
  • 初中毕业学网站开发工程师新沂市网站建设
  • 做网站电脑配置要求个高吗搜索引擎优化是指
  • 珠海横琴天聚建设工程有限公司网站做网站的公司利润率是多少
  • 湟中网站建设六安商城网站建设地址
  • dw如何在网站做弹窗wordpress 相册 外链
  • 网站开发入门书公司网站是否必须做可信认证
  • 用代码怎么做网站seo建站优化价格表
  • 盂县在线这个网站是谁做的物流托运
  • 网站宣传的方法有哪些wordpress 多用户插件
  • 手机上怎么自己做网站flash同视频做网站
  • 网站流量提升南平建设集团网站
  • 商城网站开发视频教程网站排名怎么做
  • 如何搭建网站教程视频重庆做网站公司哪家比较好
  • 大型网站建设平台电子商务师证报考官网
  • 嘉兴网站推广优化费用开发公司工程部
  • 合肥网站制作公司有哪些公司模板网站建设平台
  • 如何申请域名邮箱北京优化词网站
  • 北京网站托管公司深圳十大集团公司排名
  • 长春网站建设营销q479185700刷屏网站开发会计处理