6.1 结构体的定义和实例化
6.1.1 结构体定义、创建实例


6.1.2 创建实例:字段初始化简写语法

6.1.3 创建实例:结构体更新语法(注意:数据的移动特性!)
..语法:指定了剩余未显式设置值的字段应有与给定实例对应字段相同的值- 注意:结构体中的“移动”(用到了任意一个未实现
copy trait类型的数据)与“克隆”(只使用了实现copy trait类型的数据)特性!!!

6.1.4 元组结构体

6.1.5 类单元结构体

6.1.6 结构体数据的所有权

6.2 结构体示例程序(打印结构体的内容,dbg)
6.2.1 示例:打印矩形的面积

6.2.2 通过派生 trait 来打印结构体的内容
#[derive(Debug)]:添加 debug 注解来实现打印结构体的内容dbg!宏:一种使用 Debug 格式打印数值的方法。dbg!宏接收一个表达式的所有权(与 println! 宏相反,后者接收的是引用),打印出代码中调用dbg!宏时所在的文件和行号,以及该表达式的结果值,并返回该值的所有权dbg!宏中也可以传入引用,来防止其获取所有权



6.3 方法(method)

6.3.1 定义方法
.语法:在一个实例上调用方法(因此,这类方法的第一个参数为self: &Self,通常含有引用&符号来防止获取所有权)

6.3.2 与结构体字段同名的方法
- 读取:
&self - 修改:
&mut self - 获取所有权:
self

6.3.3 带有多个参数的方法

6.3.4 多个 impl 块

6.3.5 关联函数(::)
::语法:用于关联函数和模块创建的命名空间- 应用:(不是方法的)关联函数经常被用作返回一个结构体新实例的构造函数,这些函数的名称通常为
new - 举例:在 String 类型上定义的
String::from函数

6.4 小结














![[C语言]操作符](https://img-blog.csdnimg.cn/1358533b22ef4ec8b2917b2d76254cd8.png)





