【笔记】Rust的结构体

前言

Rust的结构体学习笔记

定义结构体

1
2
3
4
struct 结构体名 {
字段名:数据类型
字段名:数据类型
}

创建结构体实例

1
2
3
4
let 结构体变量名 = 结构体名 {
字段名:值
字段名:值
}

获取属性值

1
结构体实例名.字段名

为结构体定义方法

  • 函数可以直接调用,不属于任何owner
  • 方法归属于一个owner

&self:表示当前结构体的实例

1
2
3
4
5
impl 结构体名 {
fn 方法名(&self, 参数列表) -> 返回值类型 {
...
}
}

调用结构体的方法

1
结构体变量名.方法名();

为结构体定义静态方法

1
2
3
4
5
impl 结构体名 {
fn 方法名(参数列表) -> 返回值类型 {
...
}
}

调用结构体的静态方法

1
结构体变量名::方法名();

元祖结构体

定义元祖结构体

1
2
let 元素变量名 = (值, 值);

解构元祖结构体

1
let (变量名1, 变量名2) = 元素变量名;

其他特殊的类型

单元结构体

  • 单元结构体是返回值的一种特殊类型
  • 单元结构体表示没有返回值
  • 单元结构体用()表示
  • 单元结构体有且只有一种值,这个值也是()
1
2
3
fn 函数名(参数列表) -> () {
...
}

Option结构体

  • Option结构体是返回值的一种特殊类型
  • Option结构体用Option<T>表示,其中T为泛型
  • Option结构体的返回值有两种,分别是Some()None
1
2
3
4
5
6
7
8
9
10
11
fn 函数名(num) -> Option<bool> {
if num > 0 {
return Some(true);
}
if num < 0 {
return Some(false);
}
if num == 0 {
return None;
}
}

完成

参考文献

哔哩哔哩——面向加薪学习