当前位置:   article > 正文

Rust学习教程16 - 结构体struct_rust 结构体 str

rust 结构体 str

本文节选自<<Rust语言圣经>>一书
欢迎大家加入Rust编程学院,一起学习交流:
QQ群:1009730433

结构体

在上一节,我们提到需要一个更高级的数据结构来帮助我们更好的抽象问题,而结构体strct恰恰就是这样的复合数据结构,它是由其它数据类型组合而来, 其它语言也有类似的数据结构,不过可能有不同的名称,例如objectrecord等。

结构体跟之前讲过的元组有些相像:都是由多种类型组合而成。但是与元组不同的是,结构体可以为内部的每个字段起一个富有含义的名称。因此结构体更加灵活更加强大,你无需依赖这些字段的顺序来访问和解析它们。

结构体语法

天下无敌的剑士往往也因为他有一炳无双之剑,既然结构体这么强大,那么我们就需要给它配套一套强大的语法,让用户能更好的驾驭。

定义结构体

定义结构体有几部分组成:

  • 通过关键字struct定义
  • 一个清晰明确的结构体名称
  • 数个具名的结构体字段

例如以下结构体定义了某网站的用户:

struct User {
   
    active: bool,
    username: String,
    email: String,
    sign_in_count: u64,
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

该结构体名称是User,拥有4个具名的字段,且每个字段都有对应的类型声明,例如username代表了用户名,是一个可变的String类型。

创建结构体实例

为了使用上述结构体,我们需要创建User结构体的实例

  let user1 = User {
   
        email: String::from("someone@example.com"),
        username: String::from("someusername123"),
        active: true,
        sign_in_count: 1,
};
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

有几点值得注意:

  1. 初始化实例时,需要为每个字段都进行初始化
  2. 初始化时的字段顺序无需按照定义的顺序来
访问结构体字段

通过.操作符即可访问结构体实例内部的字段值,并且也可以修改它们:

    let mut user1 = User {
   
        email: String::from("someone@example.com"),
        username: String::from("someusername123"),
        active: true,
        sign_in_count: 1,
    };

    user1.email
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/556681
推荐阅读
相关标签
  

闽ICP备14008679号