From 359bf71dc8a4878a60b98b4c683a9c713de7686e Mon Sep 17 00:00:00 2001 From: liuyanjie Date: Sun, 23 Jan 2022 14:18:38 +0800 Subject: [PATCH] Update struct.md --- book/contents/basic/compound-type/struct.md | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/book/contents/basic/compound-type/struct.md b/book/contents/basic/compound-type/struct.md index 2fff626e..ad3d5dad 100644 --- a/book/contents/basic/compound-type/struct.md +++ b/book/contents/basic/compound-type/struct.md @@ -27,16 +27,17 @@ struct User { #### 创建结构体实例 为了使用上述结构体,我们需要创建`User`结构体的**实例**: ```rust - let user1 = User { + let user1 = User { email: String::from("someone@example.com"), username: String::from("someusername123"), active: true, sign_in_count: 1, -}; + }; ``` + 有几点值得注意: -1. 初始化实例时,需要为**每个字段**都进行初始化 -2. 初始化时的字段顺序无需按照定义的顺序来 +1. 初始化实例时,**每个字段**都需要进行初始化 +2. 初始化时的字段顺序不需要和结构体定义时的顺序一致 #### 访问结构体字段 通过`.`操作符即可访问结构体实例内部的字段值,也可以修改它们: @@ -50,7 +51,7 @@ struct User { user1.email = String::from("anotheremail@example.com"); ``` -需要注意的是,必须要将整个结构体都声明为可变的,才能修改其中的字段,Rust不允许单独将某个字段标记为可变: `let mut user1 = User {...}`. +需要注意的是,必须要将结构体实例声明为可变的,才能修改其中的字段,Rust不支持将某个结构体某个字段标记为可变. #### 简化结构体创建 下面的函数类似一个构建函数,返回了`User`结构体的实例: