You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
let tup = (1,2.3,"hello");println!("The first element of the tuple is: {}", tup.0);println!("The second element of the tuple is: {}", tup.1);println!("The third element of the tuple is: {}", tup.2);
structPerson{name:String,age:u32,height:f64,}let person = Person{name:"John Doe".to_string(),age:30,height:1.75,};println!("The person's name is: {}", person.name);println!("The person's age is: {}", person.age);println!("The person's height is: {}", person.height);
解释:
Person 结构体定义了三个字段:name(字符串类型)、age(无符号 32 位整数类型)和 height(浮点数类型)。
enumColor{Red,Green,Blue,}let color = Color::Red;match color {Color::Red => println!("The color is red"),Color::Green => println!("The color is green"),Color::Blue => println!("The color is blue"),}
let alice_score = scores.get("Alice").unwrap();println!("Alice's score is: {}", alice_score);let bob_score = scores.get("Bob").unwrap();println!("Bob's score is: {}", bob_score);
解释:
scores.get() 方法用于获取指定键的值。 如果键不存在,则返回 None。 在此示例中,我们获取了 Alice 和 Bob 的分数。
for 循环用于遍历 HashMap 中的每个键值对。 &scores 将 HashMap 转换为引用,以便在循环中使用。
key 和 value 变量分别表示当前键和值。
5. 从 HashMap 中删除键值对
scores.remove("Charlie");if scores.contains_key("Charlie"){println!("Charlie is still in the scores HashMap");}else{println!("Charlie has been removed from the scores HashMap");}
基本定义
Rust 编程语言提供了多种复合数据类型,用于存储和组织复杂数据。
1. 元组 (Tuple)
元组是一种用于存储固定数量值的有序集合。 元组中的元素可以是不同类型的,并且元组的长度是固定的,一旦声明就不能改变。
示例:
解释:
tup
变量声明了一个元组,包含三个元素:一个整数1
、一个浮点数2.3
和一个字符串"hello"
。tup.0
、tup.1
和tup.2
分别访问元组的第一个、第二个和第三个元素。2. 数组 (Array)
数组是一种用于存储相同类型固定数量值的集合。 数组中的元素必须是相同类型的,并且数组的长度也是固定的,一旦声明就不能改变。
示例:
解释:
arr
变量声明了一个数组,包含五个元素:整数1
、2
、3
、4
和5
。arr.len()
方法返回数组的长度。3. 结构体 (Struct)
结构体是一种用于存储一组具有相关关系的数据的复合类型。 结构体由字段(field)组成,每个字段都有自己的名称和类型。 结构体可以用
struct
关键字来声明。示例:
解释:
Person
结构体定义了三个字段:name
(字符串类型)、age
(无符号 32 位整数类型)和height
(浮点数类型)。person
变量创建了一个Person
结构体的实例。person.name
、person.age
和person.height
分别访问结构体的name
、age
和height
字段。4. 枚举 (Enum)
枚举是一种用于定义一组常量的复合类型。 枚举的每个常量称为变体(variant)。 枚举可以用
enum
关键字来声明。示例:
解释:
Color
枚举定义了三个变体:Red
、Green
和Blue
。color
变量声明了一个Color
枚举的实例,并将其值设置为Red
。match
表达式用于根据color
的值执行不同的代码块。5. Vec
Vec 是一种动态数组类型,用于存储相同类型的值。 Vec 的元素数量可以在运行时动态增长或缩减,因此它是一种动态数据结构。
示例:
解释:
vec
变量声明了一个新的Vec
实例。vec.push()
方法将元素添加到Vec
的末尾6.HashMap
HashMap 是一种用于存储键值对的哈希表数据结构。它由键的集合和值的集合组成,每个键都与一个值相关联。HashMap 的键可以是任何哈希可用的类型,而值可以是任何类型。
HashMap 与其他复合类型(如元组、数组、结构体和枚举)的区别在于,HashMap 的键值对是无序的,并且键是唯一的。此外,HashMap 的键可以是哈希可用的任何类型。
示例:
1. 创建一个 HashMap
解释:
use std::collections::HashMap;
语句将HashMap
模块引入作用域。let mut scores: HashMap<String, u32> = HashMap::new();
语句创建一个名为scores
的HashMap
实例,其中键类型为String
,值类型为u32
。mut
关键字表示该变量是可变的,可以对其内容进行修改。2. 向 HashMap 中插入键值对
解释:
scores.insert()
方法将键值对插入到HashMap
中。 第一个参数是键,第二个参数是值。 在此示例中,我们插入了三个键值对:"Alice": 95
表示 Alice 的分数为 95"Bob": 80
表示 Bob 的分数为 80"Charlie": 72
表示 Charlie 的分数为 723. 访问 HashMap 中的值
解释:
scores.get()
方法用于获取指定键的值。 如果键不存在,则返回None
。 在此示例中,我们获取了 Alice 和 Bob 的分数。unwrap()
方法用于从Option
类型中提取值。 如果值存在,则返回该值;否则,引发错误。4. 遍历 HashMap
解释:
for
循环用于遍历HashMap
中的每个键值对。&scores
将HashMap
转换为引用,以便在循环中使用。key
和value
变量分别表示当前键和值。5. 从 HashMap 中删除键值对
解释:
scores.remove()
方法用于从HashMap
中删除指定键的键值对。 如果键不存在,则返回None
。scores.contains_key()
方法用于检查HashMap
是否包含指定的键。The text was updated successfully, but these errors were encountered: