Merge pull request #122 from L1nY4n/patch-1

fix
pull/126/head
Sunface 3 years ago committed by GitHub
commit 5073ea71e5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,6 +1,6 @@
# 结构体
上一节中提到需要一个更高级的数据结构来帮助我们更好的抽象问题,结构体`strct`恰恰就是这样的复合数据结构,它是由其它数据类型组合而来。 其它语言也有类似的数据结构,不过可能有不同的名称,例如`object`、`record`等。
上一节中提到需要一个更高级的数据结构来帮助我们更好的抽象问题,结构体`struct`恰恰就是这样的复合数据结构,它是由其它数据类型组合而来。 其它语言也有类似的数据结构,不过可能有不同的名称,例如`object`、`record`等。
结构体跟之前讲过的[元组](./tuple.md)有些相像:都是由多种类型组合而成。但是与元组不同的是,结构体可以为内部的每个字段起一个富有含义的名称。因此结构体更加灵活更加强大,你无需依赖这些字段的顺序来访问和解析它们。
@ -107,7 +107,7 @@ fn build_user(email: String, username: String) -> User {
> 仔细回想一下[所有权](../ownership/ownership.md#拷贝(浅拷贝))那一节的内容我们提到了Copy特征实现了Copy特征的类型无需所有权转移可以直接在赋值时进行
> 数据拷贝,其中`bool`和`u64`类型就实现了`Copy`特征,因此`active`和`sign_in_count`字段在赋值给user2时仅仅发生了拷贝而不是所有权转移.
>
> 值的注意的是:`username`所有权被转移给了`user2`,导致了`user1`无法再被使用,但是并不代表`user1`内部的字段不能被继续使用,例如:
> 值的注意的是:`username`所有权被转移给了`user2`,导致了`user1`无法再被使用,但是并不代表`user1`内部的其它字段不能被继续使用,例如:
```rust
let user1 = User {

Loading…
Cancel
Save