赞
踩
本文节选自<<Rust语言圣经>>一书
欢迎大家加入Rust编程学院,一起学习交流:
QQ群:1009730433
在上一节,我们提到需要一个更高级的数据结构来帮助我们更好的抽象问题,而结构体strct
恰恰就是这样的复合数据结构,它是由其它数据类型组合而来, 其它语言也有类似的数据结构,不过可能有不同的名称,例如object
、record
等。
结构体跟之前讲过的元组有些相像:都是由多种类型组合而成。但是与元组不同的是,结构体可以为内部的每个字段起一个富有含义的名称。因此结构体更加灵活更加强大,你无需依赖这些字段的顺序来访问和解析它们。
天下无敌的剑士往往也因为他有一炳无双之剑,既然结构体这么强大,那么我们就需要给它配套一套强大的语法,让用户能更好的驾驭。
定义结构体有几部分组成:
struct
定义名称
字段
例如以下结构体定义了某网站的用户:
struct User {
active: bool,
username: String,
email: String,
sign_in_count: u64,
}
该结构体名称是User
,拥有4个具名的字段,且每个字段都有对应的类型声明,例如username
代表了用户名,是一个可变的String
类型。
为了使用上述结构体,我们需要创建User
结构体的实例
:
let user1 = User {
email: String::from("someone@example.com"),
username: String::from("someusername123"),
active: true,
sign_in_count: 1,
};
有几点值得注意:
通过.
操作符即可访问结构体实例内部的字段值,并且也可以修改它们:
let mut user1 = User {
email: String::from("someone@example.com"),
username: String::from("someusername123"),
active: true,
sign_in_count: 1,
};
user1.email
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。