H-6ren">
gpt4 book ai didi

rust - println的格式样式有什么区别?

转载 作者:行者123 更新时间:2023-11-29 07:45:00 25 4
gpt4 key购买 nike

我很抱歉问这么简单的问题...一天前,我开始学习 Rust 并尝试了 println! 方法。

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

然后,我发现了其他格式样式:{}、{:}、{:?}、{?}、...

我知道 {}String,但我不了解其他格式样式。这些风格之间有何不同?我认为 {:?} 是数组或向量。是否正确?

请用示例代码解释这些格式样式:(

最佳答案

为了彻底,std::fmt格式化语法由两部分组成:

{<position-or-name>:<format>}

哪里:

  • <position-or-name>可以是参数位置:println!("Hello {0}!" , "world");`, 注意编译时检查
  • <position-or-name>也可以是一个名字:println!("Hello {arg}!", arg = "world");
  • <format>one of the following formats ,其中每种格式都需要参数来实现特定特征,在编译时检查

在没有位置、名称或格式的情况下,默认选择与 {} 的索引匹配的参数并使用 Display特征。但是有各种各样的特征!从上面的链接:

  • 无 ⇒ 显示
  • ? ⇒ 调试
  • o ⇒ 八进制
  • x ⇒ 下十六进制
  • X ⇒ 上六边形
  • p ⇒ 指针
  • b ⇒ 二进制
  • e ⇒ LowerExp
  • E ⇒ 上Exp

如果有必要,将来可以添加新的特征。

关于rust - println的格式样式有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40100077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com