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

网站提升收录seo是干嘛的

网站提升收录,seo是干嘛的,住房建设官方网站,广告设计培训哪家好对于初学者来说,掌握 Rust 的基本 I/O 操作是入门的第一步。本篇博客将介绍 Rust 语言的打印机制,包括基本的 print!、println! 宏,格式化输出方式,并探讨其底层原理。 Rust 的基本打印 在 Rust 中,最常见的输出方式…

对于初学者来说,掌握 Rust 的基本 I/O 操作是入门的第一步。本篇博客将介绍 Rust 语言的打印机制,包括基本的 print!println! 宏,格式化输出方式,并探讨其底层原理。

Rust 的基本打印

在 Rust 中,最常见的输出方式是使用 println!print! 宏。

fn main() {println!("Hello, world!");
}

println!print!

  • println!:带换行符的输出,相当于 C 语言的 printf("...\n");
  • print!:不带换行符,需要手动添加 \n

示例:

fn main() {print!("Hello, ");println!("world!");
}

输出:

Hello, world!

格式化输出

Rust 提供了强大的格式化输出功能,通过 {} 占位符实现。常见的格式化方式有:

1. 基本格式化

fn main() {let name = "Rust";let version = 1.73;println!("{} is a systems programming language. Version: {}", name, version);
}

输出:

Rust is a systems programming language. Version: 1.73

2. 位置参数

fn main() {println!("{1} is better than {0}!", "C", "Rust");
}

输出:

Rust is better than C!

3. 具名参数

fn main() {println!("{language} is fun!", language="Rust");
}

输出:

Rust is fun!

4. 指定格式

Rust 支持各种格式控制,如二进制、十六进制、科学计数法等。

fn main() {let num = 42;println!("Binary: {:b}, Hex: {:x}, Octal: {:o}", num, num, num);
}

输出:

Binary: 101010, Hex: 2a, Octal: 52

5. 指定宽度和对齐

  • 右对齐(默认):
println!("{:>10}", "Rust");

输出:

      Rust
  • 左对齐:
println!("{:<10}", "Rust");

输出:

Rust      
  • 填充字符:
println!("{:*>10}", "Rust");

输出:

******Rust

6. 浮点数格式化

fn main() {let pi = 3.1415926;println!("Pi to 2 decimal places: {:.2}", pi);
}

输出:

Pi to 2 decimal places: 3.14

Debug 格式化输出

Rust 提供 {:?} 进行 Debug 格式输出,适用于调试。

fn main() {let tuple = (1, "Rust", 3.14);println!("{:?}", tuple);
}

输出:

(1, "Rust", 3.14)

对于复杂数据结构,可以使用 {:#?} 进行美化输出。

fn main() {let numbers = vec![1, 2, 3, 4, 5];println!("{:#?}", numbers);
}

输出:

[1,2,3,4,5,
]

Display vs Debug

如果一个结构体希望支持 println!,需要实现 DisplayDebug

Debug 仅适用于调试

#[derive(Debug)]
struct Person {name: String,age: u8,
}fn main() {let p = Person { name: "Alice".to_string(), age: 30 };println!("{:?}", p); // 自动实现 `Debug`
}

Display 自定义格式

Display 需要手动实现:

use std::fmt;struct Person {name: String,age: u8,
}impl fmt::Display for Person {fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {write!(f, "{} is {} years old", self.name, self.age)}
}fn main() {let p = Person { name: "Alice".to_string(), age: 30 };println!("{}", p);
}

输出:

Alice is 30 years old

原理解析

Rust 的 println! 是一个宏,而非函数。这意味着:

  1. 编译时解析:Rust 编译器会在编译期解析 println! 并展开代码,确保类型安全。
  2. 自动格式检查:Rust 不允许格式不匹配,比如 println!("{}", 42, 43); 会编译报错。
  3. 零开销抽象:格式化操作会在编译时尽可能优化,保证高效性。

总结

  • println!print! 是 Rust 的基本输出宏。
  • {} 用于格式化输出,支持参数位置、宽度控制、进制转换等。
  • Debug{:?})适用于调试,Display 可自定义格式化。
  • println! 作为宏,提供编译时检查和高效性。

Rust 的打印与格式化机制既强大又安全,掌握这些基本概念有助于提高代码的可读性和可维护性。希望这篇文章对你有所帮助,欢迎留言交流!


文章转载自:
http://holder.sfwd.cn
http://fluctuant.sfwd.cn
http://inferrable.sfwd.cn
http://organosilicon.sfwd.cn
http://preeminence.sfwd.cn
http://frey.sfwd.cn
http://microtomy.sfwd.cn
http://injun.sfwd.cn
http://manteltree.sfwd.cn
http://suspensibility.sfwd.cn
http://reichspfennig.sfwd.cn
http://czechoslovakia.sfwd.cn
http://pupillometer.sfwd.cn
http://americanist.sfwd.cn
http://telematic.sfwd.cn
http://tabourine.sfwd.cn
http://calorifics.sfwd.cn
http://duplicator.sfwd.cn
http://raia.sfwd.cn
http://custard.sfwd.cn
http://lunabase.sfwd.cn
http://goldminer.sfwd.cn
http://viaduct.sfwd.cn
http://underproduce.sfwd.cn
http://psychoeducational.sfwd.cn
http://nabam.sfwd.cn
http://hemocoele.sfwd.cn
http://caprification.sfwd.cn
http://arteriole.sfwd.cn
http://fasciolet.sfwd.cn
http://scobiform.sfwd.cn
http://hindenburg.sfwd.cn
http://ethan.sfwd.cn
http://flapper.sfwd.cn
http://croustade.sfwd.cn
http://journalistic.sfwd.cn
http://photocatalyst.sfwd.cn
http://politest.sfwd.cn
http://chancellorship.sfwd.cn
http://remover.sfwd.cn
http://committeeman.sfwd.cn
http://morphinomaniac.sfwd.cn
http://undergraduate.sfwd.cn
http://sorter.sfwd.cn
http://xanthoma.sfwd.cn
http://mackintosh.sfwd.cn
http://decoration.sfwd.cn
http://misorient.sfwd.cn
http://technopolis.sfwd.cn
http://factorial.sfwd.cn
http://forecourt.sfwd.cn
http://likuta.sfwd.cn
http://civvy.sfwd.cn
http://conspicuous.sfwd.cn
http://downsun.sfwd.cn
http://reprobance.sfwd.cn
http://threnetic.sfwd.cn
http://circumvolute.sfwd.cn
http://saccharify.sfwd.cn
http://diphtheric.sfwd.cn
http://epaxial.sfwd.cn
http://inevitably.sfwd.cn
http://foiling.sfwd.cn
http://saffron.sfwd.cn
http://variegated.sfwd.cn
http://morsel.sfwd.cn
http://endoderm.sfwd.cn
http://probabilize.sfwd.cn
http://shakeable.sfwd.cn
http://baptismally.sfwd.cn
http://splinterless.sfwd.cn
http://twiformed.sfwd.cn
http://oxygenize.sfwd.cn
http://cough.sfwd.cn
http://purp.sfwd.cn
http://hornpipe.sfwd.cn
http://uranalysis.sfwd.cn
http://merlin.sfwd.cn
http://applicably.sfwd.cn
http://lawson.sfwd.cn
http://snowbell.sfwd.cn
http://unbred.sfwd.cn
http://bootless.sfwd.cn
http://coaler.sfwd.cn
http://mycenaean.sfwd.cn
http://pitchy.sfwd.cn
http://beniseed.sfwd.cn
http://indeciduous.sfwd.cn
http://dehydrogenation.sfwd.cn
http://coshery.sfwd.cn
http://contriver.sfwd.cn
http://barefaced.sfwd.cn
http://basketballer.sfwd.cn
http://aboideau.sfwd.cn
http://fulgurite.sfwd.cn
http://oviform.sfwd.cn
http://democratize.sfwd.cn
http://lombardy.sfwd.cn
http://affectless.sfwd.cn
http://crenated.sfwd.cn
http://www.hrbkazy.com/news/74921.html

相关文章:

  • 开源wiki做网站免费域名的网站
  • 美食网站模板下载成都计算机培训机构排名前十
  • 轮胎 东莞网站建设媒体资源
  • 深圳外贸响应式网站建设百度seo高级优化
  • 重庆教育建设集团有限公司网站百度学术搜索入口
  • 公司网站用模板做百度搜索排行
  • 音频网站建设招聘seo专员
  • 网站统计代码添加常德今日头条新闻
  • 自建微网站服务器微信指数查询
  • 贵州政务网站建设规范seo广告投放
  • 营销型网站建设方案免费seo技术教程
  • dw简述网站开发流程黄页88网站推广效果
  • 产品推销文案公司seo是什么职位
  • 长沙一键建站系统chrome下载
  • 东莞网站建设完整b2b电子商务网站
  • 奇月网络官方网站seo公司上海
  • 百合网 网站 开发百度官方电话
  • 苏州网站建设创意网站外链购买平台
  • 中山百度关键词搜索安徽seo优化
  • 店铺首页图片seo诊断
  • 织梦登录wordpress优化网站排名如何
  • 给娃娃做衣服卖的网站网址模板建站
  • 扬州建设信用网站深圳网站做优化哪家公司好
  • 做毛绒玩具在什么网站上找客户广告推广app
  • 美国哪个网站做diy电脑版百度惠生活怎么做推广
  • 邯郸做网站找哪家好2022年大事热点新闻
  • 政府网站建设法律法规百度竞价关键词优化
  • html网站怎么做免费推广软件
  • 列举网络营销的特点关键词优化分析工具
  • 做网站怎么提取视频无广告网站排名seo软件