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

凯里门户网阿亮seo技术顾问

凯里门户网,阿亮seo技术顾问,百度网页版主页网址,物流信息网站建设Rust 编程小技巧(7) 1. 结构体 Display trait 结构体的两种形式,对应的成员取法不同; 前者用 self.成员变量名 self.x, self.y;后者用 self.成员索引号 self.0, self.1, self.2, ...... use std::fmt::Display; use std::fmt::Result; us…

eb88291a18a94ba4ace118fb4e46ef23.png

Rust 编程小技巧(7)

1. 结构体 Display trait

结构体的两种形式,对应的成员取法不同;

前者用 self.成员变量名 self.x, self.y;后者用 self.成员索引号 self.0, self.1, self.2, ......

use std::fmt::Display;
use std::fmt::Result;
use std::fmt::Formatter;struct Point {x: f64,y: f64,
}struct Point2(f64, f64);impl Display for Point {fn fmt(&self, f: &mut Formatter<'_>) -> Result {write!(f, "({}, {})", self.x, self.y)}
}impl Display for Point2 {fn fmt(&self, f: &mut Formatter<'_>) -> Result {write!(f, "({}, {})", self.0, self.1)}
}fn main() {let p = Point { x: 2.0, y: -3.5 };println!("{}", p);let p = Point2(2.0, -3.5);println!("{}", p);
}

 输出:

(2, -3.5)
(2, -3.5)

2. HashMap 和 BTreeMap

两者都是 Rust 中的哈希表数据结构,它们的相同点:

都支持使用 Vec 或 String 作为键,也支持使用标准库中的其他结构体作为键。
都支持使用 Option 类型作为键值对中的值。
都支持使用 HashMap 类型的成员函数来进行基本的操作,例如插入、删除、查找、更新等。

不同点:

HashMap 使用哈希表(HashMap)算法来存储键值对,而 BTreeMap 使用 B-TREE(B 树)算法来存储键值对。因此,BTreeMap 在查找、插入、删除等操作上的性能比 HashMap 更好。

如果需要使用哈希表(HashMap)数据结构,但不需要按照键值对的顺序来访问,而且对查找、插入、删除等操作的性能要求不高,那么可以使用 HashMap。如果需要使用哈希表(HashMap)数据结构,而且对查找、插入、删除等操作的性能要求较高,而且需要按照键值对的顺序来访问,那么可以使用 BTreeMap。

示例:

use std::collections::BTreeMap;
use std::collections::HashMap;fn main() {let mut x = BTreeMap::new();x.insert("one", 1);x.insert("two", 2);println!("{:?}", x);let x: HashMap<&str, i32> = [("one", 1),("two", 2),].iter().cloned().collect();println!("{:?}", x);
}

输出:

{"one": 1, "two": 2}
{"one": 1, "two": 2}

3. 遍历输出哈希表

在for...in...循环结构中使用元组(k, v)读取对应键值对:

use std::collections::BTreeMap;
use std::collections::HashMap;fn main() {let mut x = BTreeMap::new();x.insert("one", 1);x.insert("two", 2);x.insert("three", 3);x.insert("four", 4);for (k, v) in &x {println!("Key={}, Value={}", k, v);}println!();let x: HashMap<&str, i32> = [("one", 1),("two", 2),("three", 3),("four", 4),].iter().cloned().collect();for (k, v) in &x {println!("Key={key}, Value={val}", key = k, val = v);}
}

输出:

Key=four, Value=4
Key=one, Value=1
Key=three, Value=3
Key=two, Value=2

Key=three, Value=3
Key=two, Value=2
Key=one, Value=1
Key=four, Value=4


​​​​​​​相关阅读:

Rust 编程小技巧摘选(1)_Hann Yang的博客-CSDN博客

Rust 编程小技巧摘选(2)_Hann Yang的博客-CSDN博客

Rust 编程小技巧摘选(3)_Hann Yang的博客-CSDN博客

Rust 编程小技巧摘选(4)_Hann Yang的博客-CSDN博客

Rust 编程小技巧摘选(5)_Hann Yang的博客-CSDN博客

Rust 编程小技巧摘选(6)_Hann Yang的博客-CSDN博客

http://www.ds6.com.cn/news/77857.html

相关文章:

  • 开网络网站建设公司的优势淘宝运营培训课程免费
  • dw做网站时怎么在图片上加字郴州网站定制
  • 网站建设行业市场规模济源新站seo关键词排名推广
  • 网站建设公司怎样拓展网站业务百度搜索关键词优化方法
  • 惠州网站建设技术支持手机百度下载
  • 工商注册网站模板百度知道合伙人官网
  • 阿里企业邮箱登录南京百度seo代理
  • 做网站策划郑州优化网站公司
  • 基于mvc的网站开发seo黑帽培训
  • 国内外包平台建站合肥网络公司seo
  • 营销型网站分析凡科建站怎么用
  • 想美团这样的网站怎么做的网络营销现状分析
  • 手机网站开发例子交友平台
  • 精美 企业网站模板企业网站关键词优化
  • 哪个网站可以免费做简历他达拉非功效与作用主要会有哪些
  • asp.net 网站开发教程seo报价单
  • 网站进度表江门seo网站推广
  • 做第一个网站什么类型上海搜索关键词排名
  • 5000人网站开发企业网站制作费用
  • 广州市专业做商城网站株洲疫情最新情况
  • seo网站优化推广如何做线上销售和推广
  • 做网站的集群方案西安刚刚宣布
  • 新疆建设兵团残联网站写文章免费的软件
  • 苏州做网站哪家好企业推广公司
  • 抖音电商官网宁波seo优化费用
  • 河北网络推广seo技术
  • 成立一个做网站的公司营销推广的作用
  • 珠海企业建站模板泉州百度网络推广
  • 济南网站建设方案咨询个人网页制作成品欣赏
  • 建购物网站如何运营东莞网络优化服务商